1.环境介绍
eclipse。InteIIij idea用户也可参照,简单明了。
springboot 2.1.8
mybatis持久层
mysql数据库
2.新建springboot项目
图片中的依赖分别是
springboot DevTools 热部署依赖
MySQL Driver mysql依赖
mybatis mybatis持久层框架
springweb spring reactive web web访问依赖
3.建包,采用mvc模式
tgc.edu.zz下面的包就不做解释了,
其中mapper包是装mybatis.xml书写sql语句的
4.在mapper中新建userEntityMapper.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="tgc.edu.zz.dao.UserDao">
<!-- 查询所有 -->
<select id="findAll" resultType="tgc.edu.zz.entity.UserEntity">
select * from user_entity
</select>
<!--根据id查询-->
<select id="findById" resultType="tgc.edu.zz.entity.UserEntity" parameterType="java.lang.Integer">
select * from user_entity where id = #{id}
</select>
<!--按照姓名模糊查询-->
<select id="findByName" resultType="tgc.edu.zz.entity.UserEntity" parameterType="java.lang.String">
select * from user_entity where name like '%${value}%'
</select>
<!-- 添加 -->
<insert id="insert" parameterType="tgc.edu.zz.entity.UserEntity">
insert into user_entity values(null,#{username},#{password},#{name})
</insert>
<!--修改-->
<update id="update" parameterType="tgc.edu.zz.entity.UserEntity">
update user_entity set username= #{username},password=#{password},name=#{name} where id = #{id}
</update>
<!--删除-->
<delete id="delete" parameterType="java.lang.Integer">
delete from user_entity where id = #{id}
</delete>
</mapper>
5.新建DaoUtils.java接口工具类,将基本的增删改查封装一下
package tgc.edu.zz.custom;
import java.util.List;
public interface DaoUtils<E,ID> {
//查询所有
public List<E> findAll();
//根据id删除
public void delete(ID id);
//新增
public void insert(E e);
//修改
public void update (E e);
//根据id查询
public E findById(ID id);
}
6.新建ServiceUtils.java工具类,将服务层基本的增删改查封装下
package tgc.edu.zz.custom;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
public class ServiceUtils<E,ID> {
@Autowired
private DaoUtils<E, ID> dao;
//查询所有
public List<E> findAll() {
return dao.findAll();
}
//根据id删除
public void delete(ID id) {
dao.delete(id);
}
//新增
public void insert(E e) {
dao.insert(e);
}
//修改
public void update(E e) {
dao.update(e);
}
//根据id查询
public E findById(ID id) {
return dao.findById(id);
}
}
7.entity实体类,我就省略了。自己建entity模型实体类
新建UserDao.java接口持久层,只需要继承DaoUtils.java即可,就有了基本的增删改查方法,如图:
8.新建UserService.java,继承ServiceUtils.java就有基本的增删改查方法,如图:
9.写控制类controller,直接systemout输出测试
package tgc.edu.zz.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import tgc.edu.zz.entity.UserEntity;
import tgc.edu.zz.service.UserService;
@Controller
@RequestMapping("/main")
public class UserController {
@Autowired
private UserService service;
//根据id为3的查询结果对象
@RequestMapping("/findById")
public void findById() {
UserEntity model = service.findById(3);
System.out.println("用户名:"+model.getUsername()+",密码:"+model.getPassword()+",姓名"+model.getName());
}
//查询所有输出一下显示
@RequestMapping("/findAll")
public List<UserEntity> findAll(){
List<UserEntity> list = service.findAll();
//for循环遍历list结果集合,输出显示一下是否成功
for (UserEntity userEntity : list) {
System.out.println("用户名:"+model.getUsername()+",密码:"+model.getPassword()+",姓名"+model.getName());
}
return list;
}
//删除测试,看数据库id为1的是否删除即可
@RequestMapping("/delete")
public void delete() {
service.delete(1);
}
//新增操作,看数据库是否新增一条数据即可
@RequestMapping("/insert")
public void insert() {
UserEntity model = new UserEntity();
model.setUsername("0012");
model.setPassword("2323");
model.setName("李三");
service.insert(model);
}
//看数据库id为3的是否改了即可
@RequestMapping("/update")
public void update() {
UserEntity model = service.findById(3);
model.setName("李四");
service.update(model);
}
}
10.一定还记得一点就是application.properties配置文件吧,接下来开始配置,代码如下:
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
server.port=80
server.servlet.context-path=/mybatis
spring.jmx.enabled=false
mybatis.mapperLocations=classpath:mapper/*.xml
11.别忘了还有一点,很重要,必须加,就是首先运行程序需要先加载一下持久层包文件
下图为加载持久层包,一个注解一个路径即可。
12.最终一个简单的springboot+mybatis+mysql项目工程就是这样的。
13.运行测试
(1)新增测试
数据库增加一条数据
(2).修改测试
数据库成功修改
(3)查询id为3的数据对象
控制台输出的结果如下
(4)查询所有
控制台结果如下
(5)最后将id为3的删除
数据库也成功删除
一个很简单的mybatis+springboot整合实现的基本增删改查,谢谢大家读博,IT行业可以继续交流,微信:zzaizhangzeng
该博客有私人版权,转载请注明,谢谢!