项目结构:
配置文件路径:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.java1234</groupId>
<artifactId>Spingboot-Mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Spingboot-Mybatis</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mybatis配置 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency><!--c3p0-->
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.yml:
server:
port: 80
servlet:
context-path: /
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: '000'
url: jdbc:mysql://localhost:3306/db_bo?useSSL=false&serverTimezone=GMT
username: root
mybatis:
config-location: classpath:mybatis-config.xml
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.java1234.entity
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置全局属性 -->
<settings>
<!-- 使用jdbc的getGeneratedkeys获取数据库自增主键值 -->
<setting name="useGeneratedKeys" value="true"/>
<!-- 使用列标签替换列别名 默认:true -->
<setting name="useColumnLabel" value="true"/>
<!-- 开启驼峰命名转换 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
application启动类:
StudentDao.java:
Student.java:
package com.java1234.entity;
public class Student {
private Integer id;
private Integer age;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Student(Integer id, Integer age, String name) {
super();
this.id = id;
this.age = age;
this.name = name;
}
public Student(Integer age, String name) {
super();
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Student [id=" + id + ", age=" + age + ", name=" + name + "]";
}
}
StudentService.java:
StudentServiceImpl.java:
package com.java1234.service;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.java1234.dao.StudentDao;
import com.java1234.entity.Student;
@Service("studentService")
public class StudentServiceImpl implements StudentService{
@Resource
private StudentDao studentDao;
@Override
public Student findById(Integer id) {
// TODO Auto-generated method stub
return studentDao.findById(id);
}
@Override
public int insert(Student student) {
// TODO Auto-generated method stub
return studentDao.insert(student);
}
@Override
public int update(Student student) {
// TODO Auto-generated method stub
return studentDao.update(student);
}
@Override
public int delete(Integer id) {
// TODO Auto-generated method stub
return studentDao.delete(id);
}
}
StudentController.java:
package com.java1234.test;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.java1234.entity.Student;
import com.java1234.service.StudentService;
@Controller
@RequestMapping("/student")
public class StudentController {
@Resource
private StudentService studentService;
@RequestMapping("/list")
public void list()throws Exception{
Student stu=studentService.findById(1);
System.out.println(stu);
}
@RequestMapping("/delete")
public void delete()throws Exception{
studentService.delete(2);
System.out.println("删除成功");
}
@RequestMapping("/update")
public void update()throws Exception{
Student student=new Student(1,33,"张飞");
studentService.update(student);
}
@RequestMapping("/insert")
public void insert()throws Exception{
Student student=new Student(55,"刘永杰");
studentService.insert(student);
}
}
StudentMapper.xml:
<?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.java1234.dao.StudentDao">
<resultMap type="Student" id="StudentResult">
<result property="id" column="id"/>
<result property="age" column="age"/>
<result property="name" column="name"/>
</resultMap>
<select id="findById" parameterType="Integer" resultMap="StudentResult">
select * from t_student where id=#{id}
</select>
<insert id="insert" useGeneratedKeys="true" parameterType="Student">
insert into t_student values(null,#{age},#{name})
</insert>
<update id="update" parameterType="Student">
update t_student
<set>
<if test="age!=null">
age=#{age},
</if>
<if test="name!='' and name!=null">
name=#{name}
</if>
</set>
where id=#{id}
</update>
<delete id="delete" parameterType="Integer">
delete from t_student where id=#{id}
</delete>
</mapper>
数据库db_bo中t_student表:
浏览器输入:
* http://localhost/student/list
* http://localhost/student/update
* http://localhost/student/delete
* http://localhost/student/insert
正常运行。