mybatis(CRUD)
2024-09-04 22:59:36
3、mybatis(CRUD)
有了mybatis,我们要对数据库进行增删改查只需要操作接口和mapper.xml文件,然后进行测试就可以了。
实例代码如下:
接口
public interface UserMapper {
List<User> getUserList();
//查
User getUserById(int id);
//增
int addUser(User user);
//改
int updateUser(User user);
//删
int deleteUser(int id);
}
mapper.xml
<mapper namespace="com.kuang.dao.UserMapper">
<!--查-->
<select id="getUserList" resultType="com.kuang.pojo.User">
select * from mybatis.user
</select>
<!--查-->
<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
select * from mybatis.user where id=#{id}
</select>
<!--增-->
<insert id="addUser" parameterType="com.kuang.pojo.User">
insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd});
</insert>
<!--改-->
<update id="updateUser" parameterType="com.kuang.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<!--删-->
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id=#{id}
</delete>
</mapper>
注意:namespace要写接口,因为我们相当于实现了这个接口,而id后要写接口中的方法名,resultType就是返回的结果类型,paramterType就是传入的参数类型
测试
public class UserDaoTest {
//查
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userDao = sqlSession.getMapper(UserMapper.class);
List<User> userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
//查
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User userById = userMapper.getUserById(1);
System.out.println(userById);
sqlSession.close();
}
//增(增删改需要提交事务)
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.addUser(new User(4,"赵六","123156"));
sqlSession.commit();
sqlSession.close();
}
//改(增删改需要提交事务)
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.updateUser(new User(4,"张jiu","987654"));
sqlSession.commit();
sqlSession.close();
}
//删(增删改需要提交事务)
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
}
注意:
- 增删改需要提交事务
- 记得关闭sqlSession
- 参数是对象的话我们要new一个对象传参
最新文章
- Windows Azure HDInsight 使用技巧
- [充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
- Effective Java 71 Use lazy initialization judiciously
- 关于 Apple Metal API 的一些想法
- 160223、jquery中attr和prop的区别
- Labview中创建属性节点和调用节点的用法
- redis中各种数据类型对应的jedis操作命令
- WinForm中关于控件焦点的问题
- 全网最全ASP.NET MVC 教程汇总
- [其他]Android SDK离线文件路径以及安装更新方法
- 项目架构开发:数据访问层之Cache
- 想成为Java高级工程师的看过来
- HBase Canary
- css选择器优选级及匹配原理(转)
- EF 查询所有字段
- windows系统安装python3.6.3和python3.7.0
- MySQL数据库基本用法
- SSH和SSM的区别
- 02-01:springboot整合servlet开发
- IDEA中Git的使用基础
热门文章
- Android工具-DDMS
- [BUUCTF]PWN——ciscn_2019_s_4
- 拆分行(Power Query 之 M 语言)
- CF688B Lovely Palindromes 题解
- js(jQuery)获取自定义data属性的值
- JAVA将Object数组转换为String数组
- Linux(Centos)安装git
- 自己常用的CMake用法总结
- 【LeetCode】1. Two Sum 两数之和
- 【LeetCode】717. 1-bit and 2-bit Characters 解题报告(Python)