凉山州建设银行官方网站织梦免费源码
web/
2025/9/27 17:05:00/
文章来源:
凉山州建设银行官方网站,织梦免费源码,wordpress注册后邮箱没有收到信息,wordpress后台换地址#x1f600;前言 本篇博文是关于MyBatis原生API注解的使用#xff0c;希望能够帮助到你#x1f60a; #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您… 前言 本篇博文是关于MyBatis原生API注解的使用希望能够帮助到你 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力
欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦 文章目录 原生的API注解的方式MyBatis-原生的API 调用应用实例需求代码实现 MyBatis-注解的方式操作需求代码实现注意事项和说明 总结 原生的API注解的方式
MyBatis-原生的API 调用
应用实例
需求
感兴趣的可以看一下博主前面的项目----自己实现MyBatis 底层机制–抽丝剥茧上. 在前面项目的基础上将增删改查使用MyBatis 原生的API 完成就是直接通过SqlSession 接口的方法来完成。
1.增加 2. 删除
3.修改 4. 查询 代码实现
创建src\test\java\com\nlc\mapper\MyBatisNativeTest.java, 完成添加数据
public class MyBatisNativeTest {//这个是Sql 会话,通过它可以发出sql 语句private SqlSession sqlSession;private MonsterMapper monsterMapper;Beforepublic void init() throws Exception {//通过SqlSessionFactory 对象获取一个SqlSession 会话sqlSession MyBatisUtils.getSqlSession();//获取MonsterMapper 接口对象, 该对象实现了MonsterMappermonsterMapper sqlSession.getMapper(MonsterMapper.class);System.out.println(monsterMapper.getClass());}//使用sqlSession 原生的API 调用我们编写的方法Testpublic void myBatisNativeCrud() {//add startMonster monster new Monster();monster.setAge(200);monster.setBirthday(new Date());monster.setEmail(nlc100sohu.com);monster.setGender(2);monster.setName(白骨精);monster.setSalary(9234.89);sqlSession.insert(com.nlc.mapper.MonsterMapper.addMonster, monster);//add endif (sqlSession ! null) {sqlSession.commit();sqlSession.close();}System.out.println(操作成功!);}
}修改src\test\java\com\nlc\mapper\MyBatisNativeTest.java, 完成删除/修改/查询数据.
//使用sqlSession 原生的API 调用我们编写的方法
Test
public void myBatisNativeCrud() {//删除startsqlSession.delete(com.nlc.mapper.MonsterMapper.delMonster, 3);//删除end//update startMonster monster new Monster();monster.setAge(300);monster.setBirthday(new Date());monster.setEmail(tn100sohu.com);monster.setGender(2);monster.setName(狮驼国妖精);monster.setSalary(9234.89);monster.setId(7);sqlSession.update(com.nlc.mapper.MonsterMapper.updateMonster,monster);//update end//select startListMonster monsterList sqlSession.selectList (com.nlc.mapper.MonsterMapper.findAllMonster);for (Monster monster : monsterList) {System.out.println(monster);}//select endif (sqlSession ! null) {sqlSession.commit();sqlSession.close();}System.out.println(操作成功!);
}完成测试
MyBatis-注解的方式操作
需求
在前面项目的基础上将增删改查使用MyBatis 的注解的方式完成 1.增加 2.删除 3.修改 4.查询
代码实现
创建src\main\java\com\nlc\mapper\MonsterAnnotation.java
public interface MonsterAnnotation {//添加方法,将我们的sql 语句直接写在Insert 注解即可Insert(INSERT INTO monster (age,birthday,email,gender,name,salary) VALUES(#{age},#{birthday},#{email},#{gender},#{name},#{salary}))public void addMonster(Monster monster);//根据id 删除一个MonsterDelete(DELETE FROM monster WHERE id#{id})public void delMonster(Integer id);//修改MonsterUpdate(UPDATE monster SET age#{age}, birthday#{birthday}, email #{email},gender #{gender}, name#{name}, salary#{salary} WHERE id#{id})public void updateMonster(Monster monster);//查询-根据idSelect(SELECT * FROM monster WHERE id #{id})public Monster getMonsterById(Integer id);//查询所有的MonsterSelect(SELECT * FROM monster )public ListMonster findAllMonster();
}修改mybatis-config.xml , 对MonsterAnnotaion 进行注册
!-- 这里会引入(注册)我们的Mapper.xml 文件--
mapper resourcecom/nlc/mapper/MonsterMapper.xml/
!--1. 如果是通过注解的方式可不再使用MonsterMapper.xml2. 但是需要在mybatis-config.xml 注册含注解的类
--
mapper classcom.nlc.mapper.MonsterAnnotation/创建com\nlc\mapper\MonsterAnnotationTest.java , 完成测试
public class MonsterAnnotationTest {//这个是Sql 会话,通过它可以发出sql 语句private SqlSession sqlSession;Beforepublic void init() throws Exception {//通过SqlSessionFactory 对象获取一个SqlSession 会话sqlSession MyBatisUtils.getSqlSession();}//测试通过注解的方式来完成接口中方法的实现//其它的删除修改查询是一样一样自己测试即可Testpublic void addMonster() {Monster monster new Monster();monster.setAge(500);monster.setBirthday(new Date());monster.setEmail(nlcsohu.com);monster.setGender(2);monster.setName(白虎精);monster.setSalary(9234.89);MonsterAnnotation monsterAnnotation sqlSession.getMapper(MonsterAnnotation.class);monsterAnnotation.addMonster(monster);//增删改需要提交事务if (sqlSession ! null) {sqlSession.commit();sqlSession.close();}System.out.println(操作成功);}
}注意事项和说明
如果是通过注解的方式 就不再使用MonsterMapper.xml 文件 但是需要在mybatis-config.xml 文件中注册含注解的类/接口。使用注解方式,添加时, 如果要返回自增长id 值, 可以使用Option 注解, 组合使用
Insert(value INSERT INTO monster (age, birthday, email, gender, name,salary)
VALUES (#{age}, #{birthday}, #{email}, #{gender}, #{name}, #{salary}))
Options(useGeneratedKeys true, keyProperty id, keyColumn id)
public void addMonster(Monster monster);在Junit 进行添加/查询测试即可。
总结
原生API的使用方法有很多我们在使用时要弄清楚自己需要使用的是哪一个。不清楚用哪一个的时候可以尝试去猜一下猜它的参数、猜它的类型看看哪个符合条件。使用注解时需要在mybatis-config.xml 注册含注解的类否则无法使用。SQL语句最好先在Navicat上测试一下否则SQL语句不正确。
热门专栏推荐 手写底层机制篇– 自己实现MyBatis 底层机制–抽丝剥茧上. 揭开神秘的面纱–自己实现MyBatis 底层机制[下] 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81043.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!