1. Introdução ao meio ambiente
eclipse. Os usuários da idéia do InteIIij também podem se referir a ela, simples e clara. banco de dados mysql da camada de persistência mybatis do
springboot 2.1.8
2. Novo projeto springboot
As dependências na imagem são
bootboot. A implantação a quente do DevTools depende do
driver MySQL. Mysql depende de
mybatis mybatis framework de camada de persistência
springweb spring reativa ao acesso à web
3. Construindo um pacote, usando o modo mvc
O pacote abaixo de tgc.edu.zz não será explicado,
onde o pacote mapeador está instalado mybatis.xml para gravar instruções SQL
4. Crie um novo arquivo userEntityMapper.xml no mapeador, escreva a instrução SQL básica e mapeie sua classe de entidade correspondente
<?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. Crie uma nova classe de ferramenta de interface DaoUtils.java, encapsule a adição, exclusão, modificação e inspeção básicas
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. Crie uma nova classe de ferramenta ServiceUtils.java e encapsule a adição, exclusão e modificação básicas da camada de serviço
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);
}
}
Classe de entidade 7.entity, eu omiti. Construir modelo de entidade classe de entidade
Crie uma nova camada de persistência da interface UserDao.java, você só precisará herdar o DaoUtils.java; existe um método básico de adição, exclusão e modificação, conforme mostrado na figura:
8. O novo UserService.java, herda ServiceUtils.java, existe um método básico de adição, exclusão e modificação, conforme mostrado na figura:
9. Escreva o controlador da classe de controle, teste direto da saída do sistema
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. Você ainda deve se lembrar do arquivo de configuração application.properties e, em seguida, iniciar a configuração, o código é o seguinte:
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. Não se esqueça de mais uma coisa, é muito importante, é preciso adicionar, ou seja, você precisa carregar o arquivo da camada de persistência antes de executar o programa
A figura a seguir mostra o carregamento do pacote da camada de persistência, uma anotação e um caminho.
12. No final, um projeto simples do springboot + mybatis + mysql é assim.
13. Execute o teste
(1) Novo teste
adiciona novos dados ao banco de dados
(2) Modifique o teste O
banco de dados foi modificado com sucesso
(3) Consulte o objeto de dados com o ID 3
Os resultados da saída do console são os seguintes
(4) Todos os
resultados do console são os seguintes
(5) Por fim, a exclusão do ID 3.
também foi excluída com
sucesso.Uma integração muito simples do mybatis + springboot para obter adições, exclusões e alterações básicas. Obrigado por ler o blog. O setor de TI pode continuar a se comunicar.
Este blog possui direitos autorais particulares, indique-o, obrigado!