基础环境搭建见上一篇博客 https://blog.csdn.net/weixin_43365369/article/details/88890791
1、查询
- 在 mapper 类中编写接口
public interface UserDao {
// 查询全部用户
List<User> queryUserList();
// 根据id查询用户
User getUserById(int id);
}
- 在 mapper 配置文件中编写 sql
<!-- 查询语句 -->
<select id="queryUserList" resultType="com.study.pojo.User">
select * from tb_user
</select>
<select id="getUserById" parameterType="int" resultType="com.study.pojo.User">
select * from tb_user where id = #{id}
</select>
- 测试
@Test
public void Test01(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
// 方式一
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> users = userDao.queryUserList();
// 方式二
// List<User> users = sqlSession.selectList("com.study.dao.UserDao.queryUserList");
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void Test02(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User u = mapper.getUserById(1);
System.out.println(u);
sqlSession.close();
}
2、新增
- 在 mapper 类中编写接口
public interface UserDao {
// 根据id新增一个用户
int addUser(User user);
}
- 在 mapper 配置文件中编写 sql
<insert id="addUser" parameterType="com.study.pojo.User">
insert tb_user (user_name,password,name,age,sex,birthday) VALUES (#{userName},#{password},#{name},#{age},#{sex},#{birthday});
</insert>
- 测试
@Test
public void Test03(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user = new User();
user.setUserName("nihao");
user.setName("你好");
user.setAge(12);
user.setPassword("123");
user.setSex(1);
user.setBirthday(new Date());
int i = mapper.addUser(user);
System.out.println(i);
// 注意这一步一定要手动提交事务,mybatis默认不自动提交事务的
sqlSession.commit();
sqlSession.close();
}
3、修改
- 在 mapper 类中编写接口
public interface UserDao {
// 根据id修改一个用户
int updateUser(User user);
}
- 在 mapper 配置文件中编写 sql
<update id="updateUser" parameterType="com.study.pojo.User">
UPDATE tb_user set name = #{name},age = #{age} where id = #{id}
</update>
- 测试
@Test
public void Test04(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User user = new User();
user.setId(17);
user.setName("股神巴菲特");
user.setAge(56);
int i = mapper.updateUser(user);
System.out.println(i);
// 注意这一步一定要手动提交事务,mybatis默认不自动提交事务的
sqlSession.commit();
sqlSession.close();
}
4、删除
- 在 mapper 类中编写接口
public interface UserDao {
// 根据id删除一个用户
int deleteUser(int id);
}
- 在 mapper 配置文件中编写 sql
<delete id="deleteUser" parameterType="int">
delete from tb_user where id = #{id}
</delete>
- 测试
@Test
public void Test05(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
int i = mapper.deleteUser(17);
System.out.println(i);
// 注意这一步一定要手动提交事务,mybatis默认不自动提交事务的
sqlSession.commit();
sqlSession.close();
}