介绍#
Mybatis 是通过jdk的动态代理和反射来实现mapper的方法构建的
环境准备#
JDK21
Maven
Mysql
下载和部署模型#
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); }
参数注解 Param
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface Param { String value(); }
表名注解 Table
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface Table { String tableName(); }
测试
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)