- 1.类型别名
- 2.结果集映射ResultMap
- 3.mybatis使用步骤
注意:接口和它的Mapper配置文件最好同名,在同一包下
UserMapper.xml就可以直接用User了
2.结果集映射ResultMapselect * from mybatis_study.user where id= #{id};
主要用于解决属性名与数据库表中字段不一致
实体类属性
表字段
运行结果
解决方法:
resultMap结果集映射
UserMapper.xml
.
1.导入mysql驱动和mybatis、lombok依赖
mysql mysql-connector-java 8.0.27 org.mybatis mybatis 3.5.7 org.projectlombok lombok 1.18.20 provided
2.编写mybatis-config.xml配置文件
3.db.properties文件
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis_study?serverTimezome=UTC username=root password=123456
4.工具类utils下的MybatisUtil.Java
public class MybatisUtil {
private static SqlSessionFactory factory;
static{
try {
//1.读取配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//2.创建SqlsessionFactory工厂
factory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
//3.使用工厂生产sqlsession对象
return factory.openSession();
}
}
5.pojo实体类User.java
@Data
public class User{
private Integer id;
private String name;
private String sex;
private String address;
}
6.对应Mapper接口
public interface UserMapper {
//查询全部用户
List findAll();
//根据ID查找
User getUserId(int id);
//添加用户
int addUser(User user);
//更新用户
int updateUser(User user);
//删除用户
int deleteUser(int id);
}
7.对应的Mapper.xml文件
8.测试类
//查询所有
@Test
public void TestList(){
SqlSession session = MybatisUtil.getSqlSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
List list = userMapper.findAll();
for (User user : list) {
System.out.println(user);
}
//释放资源
session.close();
}
//根据ID查询
@Test
public void getUserId(){
SqlSession session = MybatisUtil.getSqlSession();
UserMapper mapper = session.getMapper(UserMapper.class);
User userId = mapper.getUserId(41);
System.out.println(userId);
session.close();
}
//添加操作,增删改都需要提交事务
@Test
public void addUser(){
SqlSession session = MybatisUtil.getSqlSession();
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.addUser(new User(3, "小哈", "男", "新乡市"));
//提交事务
session.commit();
session.close();
}
//更新操作
@Test
public void updateUser(){
SqlSession session = MybatisUtil.getSqlSession();
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.updateUser(new User(3,"小何","女","河南省"));
//提交事务
session.commit();
session.close();
}
//删除操作
@Test
public void deleteUser(){
SqlSession session = MybatisUtil.getSqlSession();
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.deleteUser(3);
session.commit();
session.close();
}



