目录
使用MyBatis框架操作数据, 在SpringBoot框架集成MyBatis,使用步骤:
(1)mybatis起步依赖 : 完成mybatis对象自动配置, 对象放在容器中
(2)pom.xml 指定把src/main/java目录中的xml文件包含到classpath中
(3)创建实体类Student
(4)创建Dao接口 StudentDao , 创建一个查询学生的方法
(5)创建Dao接口对应的Mapper文件, xml文件, 写sql语句
(6)创建Service层对象, 创建StudentService接口和它的实现类。 去dao对象的方法,完成数据库的操作
(7)创建Controller对象,访问Service。
(8)写application.properties文件,配置数据库的连接信息。
1. 创建 Spring Boot 项目
(1)准备数据库表
字段及其类型
插入数据
(2)创建一个SpringBoot项目
选择Spring Web依赖
MybatisFramework依赖、MySQL Driver依赖
(3)生成的pom.xml配置和手动添加的resource插件配置
注:resource插件配置是表示将src/java/main下的或者说子包下的*.xml配置文件最终加载到target/classes目录下。
4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.9 com.zl study-springboot-mysql 0.0.1-SNAPSHOT 1.8 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 2.3.0 com.mysql mysql-connector-j runtime org.springframework.boot spring-boot-starter-test test src/main/java ***.properties ***.xml ***.xml **/*.properties
generatorConfig.xml配置
双击插件,执行结果如下:
第三步:编写application.properties配置
注:如果StudentMapper.xml的目录与StudentMapper目录保持一致,就不需要以下这个配置mybatis.mapper-locations=classpath:mapper/*.xml;这里我们是自己定义的mapper目录,把mapper.xml文件放进去了,所以需要我们指定出来它的位置!
#设置端口server.port=8082#配置项目根路径context-pathserver.servlet.context-path=/myboot#配置数据库spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=123#配置mybatismybatis.mapper-locations=classpath:mapper/*.xml#配置日志mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
第四步:编写service接口和实现类
StudentService接口
package com.zl.service;import com.zl.pojo.Student;public interface StudentService { int addStudent(Student student);}
StudentService接口的实现类StudentServiceImpl
package com.zl.service.impl;import com.zl.mapper.StudentMapper;import com.zl.pojo.Student;import com.zl.service.StudentService;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;@Service // 交给Spring容器管理public class StudentServiceImpl implements StudentService { @Resource // 属性赋值 private StudentMapper studentDao; @Transactional // 事务控制 @Override public int addStudent(Student student) { System.out.println("准备执行sql语句"); int count = studentDao.insert(student); System.out.println("已完成sql语句的执行"); // 模拟异常,回滚事务 int sum = 10 / 0; return count; }}
第五步:编写controller类去调用service
package com.zl.controller;import com.zl.pojo.Student;import com.zl.service.StudentService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;@Controllerpublic class StudentController { @Resource private StudentService studentService; @RequestMapping("/addStudent") @ResponseBody public String addStudent(String name,Integer age){ Student s = new Student(); s.setName(name); s.setAge(age); int count = studentService.addStudent(s); return "添加的Student个数是:"+count; }}
第六步:在启动类上面加上包扫描注解和启动事务管理器注解
package com.zl;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication@MapperScan(basePackages = "com.zl.mapper") // 添加包扫描@EnableTransactionManagement // 启动事务管理器public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
第七步:进行测试
有异常发生,会回滚事务,无法插入数据
无异常发生,正常插入数据
来源地址:https://blog.csdn.net/m0_61933976/article/details/129344765
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何高效使用Uncomtrade数据库进行查询
- Java 配置环境变量后如何进行使用操作?(java配置环境变量后如何使用)
- Java 中防止接口重复提交的方法有哪些?(java接口防止重复提交的方法是什么)
- 如何提高 Java Office 的性能?(java office 怎样提高性能 )
- Java 抽象工厂模式的优缺点有哪些?(java抽象工厂模式有哪些优缺点)
- 在 Java 中,charsequence 的具体用法究竟是什么?(java中charsequence的用法是什么)
- 如何利用 Java Quarter 进行数据挖掘?(java quarter如何进行数据挖掘)
- Java 中常见的比较操作符有哪些?(Java比较操作符有哪些)
- 在 Java 中,Integer 究竟有哪些作用呢?(java中integer的作用是什么)
- Java 实体类如何进行赋值操作?(java实体类怎么赋值)
猜你喜欢
AI推送时光机【SpringBoot】| ORM 操作 MySQL(集成MyBatis)
数据库2023-09-12MyBatis ORM与Spring Cloud集成
数据库2024-09-15MyBatis ORM与Spring集成要点
数据库2024-09-16SpringBoot集成Mybatis+xml格式的sql配置文件操作
数据库2024-04-02springBoot(11):集成Mybatis
数据库2024-04-02MyBatis ORM的集成测试实践
数据库2024-09-11springboot配置多数据源并集成Druid和mybatis的操作
数据库2024-04-02SpringBoot实现ORM操作MySQL的几种方法
数据库2024-04-02MyBatis ORM的批量操作优化
数据库2024-09-16MyBatis ORM的SQL模板引擎集成
数据库2024-09-11SpringBoot实现ORM操作MySQL的方法有哪些
数据库2023-06-29Python操作MySQL(二) ORM
数据库2023-01-31SpringBoot集成Mybatis并测试
数据库2024-04-02springboot集成mybatis官方生成器
数据库2024-04-02Python操作MySQL(二) ORM篇
数据库2024-04-02MyBatis ORM的分布式缓存集成实践
数据库2024-09-11 咦!没有更多了?去看看其它编程学习网 内容吧