因为最近学习Java 自己练习springboot和mybatis,练习一下
一、IDEA创建springboot项目
2、pom.xml 引用相关文件
<!--web核心依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql数据库驱动-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
最终目录结构
开始编写各个生成的文件
实体类文件:
public class User implements Serializable {
private Long id;//编号
private String username;// 用户名
private String password;//密码
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
userservice接口
public interface UserService {
List<User> findAll();
User getUserByID(int id);
void CreateUser(User user);
void DeleteUser(int id);
void UpdateUser(User user);
}
UserServiceimpl服务类
@Service("UserService")
public class UserServiceimpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
public User getUserByID(int id) {
return userMapper.getUserByID(id);
}
public void CreateUser(User user) {
userMapper.CreateUser(user);
}
public void DeleteUser(int id)
{
userMapper.DeleteUser(id);
}
public void UpdateUser(User user){
userMapper.UpdateUser(user);
}
}
mapper接口
@Mapper
public interface UserMapper {
List<User> findAll();
User getUserByID(int id);
void CreateUser(User user);
void DeleteUser(int id);
void UpdateUser(User user);
}
Controller类
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findAll")
public List<User> findAll(){
return userService.findAll();
}
@RequestMapping("/getUserByID")
public User getUserByID(Integer id){
return userService.getUserByID(id);
}
@RequestMapping("/CreateUser")
public void CreateUser(User user)
{
userService.CreateUser(user);
}
@RequestMapping("/DeleteUser")
public void DeleteUser(Integer id)
{
userService.DeleteUser(id);
}
@RequestMapping("/UpdateUser")
public void UpdateUser(User user)
{
userService.UpdateUser(user);
}
}
usermapper.xml--对应sql语句文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mybatis.mybatis.mapper.UserMapper">
<sql id="table">tb_user</sql>
<select id="findAll" resultType="User">
SELECT * FROM tb_user
</select>
<!-- 根据id查询 -->
<select id="getUserByID" resultType="User">
SELECT
*
FROM
<include refid="table"/>
WHERE
id = #{id}
</select>
<select id="CreateUser" parameterType="User">
insert into
<include refid="table"/>
(username,password)
VALUES
(#{username},#{username})
</select>
<select id ="DeleteUser">
delete from
<include refid="table"/>
where id =#{id}
</select>
<select id ="UpdateUser" parameterType="User">
update
<include refid="table"/>
set username =#{username},password =#{password}
where id =#{id}
</select>
</mapper>
application.yml--mybatis以及JDBC配置文件
server:
port: 6061
spring:
#数据库连接配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.10:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: root
password: piaost123
#mybatis的相关配置
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.mybatis.mybatis.entity
#开启驼峰命名
configuration:
map-underscore-to-camel-case: true
开始创建数据库:我用的是mysql 5.6
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
到此,整个环境就全部完成
可以使用Postman测试了
相关知识:
1、MybatisMybatis架构与原理讲解的很细通俗易懂,大家可以看下
https://www.jianshu.com/p/15781ec742f2
2、相关注解以及mybatis相关标签
@Service("UserService")、@Mapper、@RestController、@RequestMapping("/user")、select、include
大家可以查阅相关资料
Java_Mybatis 注解: https://www.cnblogs.com/amiezhang/p/9632711.html
springboot 注解:https://www.cnblogs.com/ldy-blogs/p/8550406.html
demo下载地址:https://download.youkuaiyun.com/download/fsdad/12595011