跳过正文
  1. 文章列表/

实现Mybatis

·
Mybatis AOP JDK动态代理
Blowfish
作者
Blowfish
一个强大、轻量级的 Hugo 主题。
目录

介绍
#

Mybatis 是通过jdk的动态代理和反射来实现mapper的方法构建的

环境准备
#

JDK21
Maven
Mysql

下载和部署模型
#

  1. UserMapper

    public interface UserMapper {
     User selectUserById(@Param("id") int id);
    
     User selectByName(@Param("name") String name);
    
     User selectByNameAndAge(@Param("name") String name,@Param("age") int age);
     }
    
  2. 参数注解 Param

    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.PARAMETER)
    public @interface Param {
        String value();
    }
    
  3. 表名注解 Table

    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.TYPE)
    public @interface Table {
        String tableName();
    }
    
  4. 测试

    public class App
    {
        public static void main(String[] args) {
            MySqlSessionFactory mySqlSessionFactory = new MySqlSessionFactory();
            UserMapper mapper = mySqlSessionFactory.getMapper(UserMapper.class);
            User user = mapper.selectUserById(1);
            System.out.println(user);
        }
    }
    
    select id,name,age from user where id =?
    User(id=1, name=测试1, age=10)
    

相关文章

使用 MLstudio 运行大模型服务
MLstudio 大模型 深度学习
Git 不能提交到 Github
Git GitHub GitHub Pages