MyBatis的CRUD操作:(简单实现)
文章目录
前言
提示:以下是本篇文章正文内容:
一、CRUD:create,read,update,delete
(1)Dao层接口:抽象方法
public interface UserDao {
// 一个方法对应一个sql语句,
//查询全部用户
List<User> getUserList();
//根据id查询用户
User getUserById(int id);
//插入数据
int insertUser(User user);
//删除数据
int deleteUserById(int id);
//更新数据
int updateUser(User user);
}
(2)在配置文件中,用标签写sql语句:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.dao.UserDao">
<!--查询全部用户-->
<select id="getUserList" resultType="com.my.pojo.User">
select * from user
</select>
<!--根据id查询用户-->
<!--id就是参数,where的条件,prarmeterType就是确定where条件参数的类型-->
<select id="getUserById" parameterType="int" resultType="com.my.pojo.User">
select * from user where id = #{id}
</select>
<!--插入数据-->
<insert id="insertUser" parameterType="com.my.pojo.User">
insert into user (id,name,pwd)
values (#{id},#{name},#{pwd});
</insert>
<!--更新数据-->
<update id="updateUser" parameterType="com.my.pojo.User">
update user
set name = #{name},pwd = #{pwd}
where id = #{id};
</update>
<!--删除数据-->
<delete id="deleteUserById" parameterType="int">
delete from user where id = #{id}
</delete>
</mapper>
(3)写sql语句的测试方法:Test标签:
1.查询select:
// 第一种:
@Test
public void test(){
// 1.获得SqlSession对象
SqlSession sqlSession = MybatisUtil.getSqlSession();
// 返回一个接口类型
UserDao userDao = sqlSession.getMapper(UserDao.class);
// 执行里面的方法
List<User> userList = userDao.getUserList();//
for(User user:userList){
System.out.println(user);
}
// 2.关闭sqlSession
// 一定要关闭,sqlsession,我们可以手动写一个trycatch方法来保证关闭。
sqlSession.close();
}
// 第二种
@Test
public void testSelect(){
// 有两句话是死的:
SqlSession sqlSession = MybatisUtil.getSqlSession();
// 获得当前结构绑定的class对象
// 返回一个接口,我们不用去管它的实现,返回的就是一个具体的对象
UserDao userDao = sqlSession.getMapper(UserDao.class);
User user = userDao.getUserById(1);//
System.out.println(user);
sqlSession.close();
}
2.插入insert:
// 插入:
@Test
public void testInsert(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int count = userDao.insertUser(new User(4,"zl","123456"));//
if(count > 0){
System.out.println("插入成功!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
3.删除delete:
// 更新:
@Test
public void testUpdate(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int count = userDao.updateUser(new User(4,"wu","12345678"));//
if(count > 0){
System.out.println("更新成功!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
4.修改update:
// 删除:根据id
@Test
public void testDelete(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
int count = userDao.deleteUserById(4);//
if(count > 0){
System.out.println("删除成功!");
}
//提交事务
sqlSession.commit();
sqlSession.close();
}
总结
提示:这里对文章进行总结: