一.整合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