Spring Boot整合MyBatis

xiaoxiao2025-04-24  6

一.整合MyBatis

先创建一个数据库,并加入点数据来进行操作 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_name` varchar(100) DEFAULT NULL COMMENT '用户名', `password` varchar(100) DEFAULT NULL COMMENT '密码', `name` varchar(100) DEFAULT NULL COMMENT '姓名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; INSERT INTO `user` VALUES ('1', 'zhangsan', '123456', '张三'); INSERT INTO `user` VALUES ('2', 'lisi', '123456', '李四'); INSERT INTO `user` VALUES ('3', 'wangwu', '123456', '王五'); INSERT INTO `user` VALUES ('4', 'zhangwei', '123456', '张伟'); INSERT INTO `user` VALUES ('5', 'lina', '123456', '李娜'); INSERT INTO `user` VALUES ('6', 'lilei', '123456', '李磊');

1.创建Maven工程(打jar包)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>it.playmaker</groupId> <artifactId>SpringBoot-play</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency><!--mybatis依赖--> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

3.加入Spring-Boot配置文件

application.properties此文件用于覆盖Spring Boot的默认配置 #DB Configuration: spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxxx?characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=xxxxx #JPA Configuration: spring.jpa.database=mysql spring.jpa.show-sql=true spring.jpa.generate-ddl=true #是否自动生成ddl spring.jpa.hibernate.ddl-auto=update #生成ddl的方式 spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy #选择的命名策略

4.后端实现

(1).创建实体类
@Entity @Table(name="s_user")//对应表 public class User { @Id @Column(name="id") @GeneratedValue(strategy=GenerationType.IDENTITY)//自增长 private Long id; @Column(name="user_name")//在windows系统下mysql不区分大小写。在Linux系统下,区分大小写 private String user_name; @Column(name="password") private String password; @Column(name="name") private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUser_name() { return user_name; } public void setUser_name(String user_name) { this.user_name = user_name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User [id=" + id + ", user_name=" + user_name + ", password=" + password + ", name=" + name + "]"; } }
(2).编写Mapper类
/* * 使用mybatis实现对数据库的操作接口 */ @Mapper //要求mybatis的版本3.3以上 声明Mapper接口 public interface IUserMapper { @Select("select * from s_user where name like '%${value}%'")//$value是传过来name的值 声明这个接口所需要使用的sql,当然,有查询的注解,肯定就有增删改的注解 public List<User> queryUserByName(String name); }
(3).用户业务逻辑
/* * 用户业务层接口 */ public interface IUserService { //根据名称查询所有用户 List<User> queryUserByName(String name); }
(4).用户业务逻辑实现类
/* * 用户业务层实现类 */ /* * 用户业务层实现类 */ @Service("userService") public class UserServiceImpl implements IUserService { @Autowired private IUserMapper userMapper; public List<User> queryUserByName(String name) { System.out.println(name); return userMapper.queryUserByName(name); } }
(5).创建Controller
@RestController @RequestMapping("/user") public class UserController { @Autowired private IUserService userService; @RequestMapping("/findAll/{name}") public List<User> findAllUser(@PathVariable("name")String name){ List<User> users = userService.queryUserByName(name); return users; } }
(6).创建引导类(注意引导类所放的包)
/* * spring boot引导类 */ @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 运行引导类,打开浏览器输入地址http://localhost:8080/user/findAll/李
(2).前端实现
Spring Boot支持我们编写html,jsp文件的static文件夹内容.user.html(要放在配置文件下的static文件夹中) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" content="text/html;charset=UTF-8"> <title>人员信息</title> <link rel="stylesheet" type="text/css" href="ui/themes/default/easyui.css"> <script type="text/javascript" src="ui/jquery.min.js"></script> <script type="text/javascript" src="ui/jquery.easyui.min.js"></script> <script type="text/javascript" src="ui/locate/easyui-lang-zh_CN.js"></script> <script type="text/javascript"> $(function() { $('#grid').datagrid({ url:'user/findAll/李',//要与控制器下的地址一致 columns:[[{ field:'id', title:'编号', width:50 },{ field:'name', title:'姓名', width:100 },{ field:'user_name', title:'账号', width:200 }]] }); }); </script> </head> <body> <table id="grid"></table> </body> </html> 开启引导类访问http://localhost:8080/user.html
转载请注明原文地址: https://www.6miu.com/read-5029002.html

最新回复(0)