SpringBoot集成+MyBatis
程序员文章站
2022-05-26 08:57:27
...
才开始按照网上的教程来搞,总是遇到各种问题。老是集成失败。各种细节都没好好处理。经过摸索半天,是这样子的。这个图,先后顺序。这个是代码在启动之后的运行顺序。 看下面如何实现的
开头先看
UserServiceimpl: 负责业务逻辑。 ????
UserDao:通过UserMapper数据库操作 ????
UserService:在Impl中已经实现,最后把实现后的结果传递到Controller中。, ????
UserController:返回最后的结果数据。并实现路由功能
一,创建项目
选这三个。
接下来就是每个类。对应思维导图来写。
UserService.java
import java.util.List;
@Repository
public interface UserService {
void addUser(User user);
User getUserById(int id);
boolean updateUserById();
boolean deleteUserById();
List<User> queryUserList();
}
UserServiceimpl
import java.util.List;
@Service
public class UserServiceimpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void addUser(User user) {
userDao.addUser(user);
}
@Override
public User getUserById(int id) {
//控制业务逻辑
return userDao.queryById(id);
}
@Override
public boolean updateUserById() {
return false;
}
@Override
public boolean deleteUserById() {
return false;
}
@Override
public List<User> queryUserList() {
return userDao.queryUserList();
}
}
UserController
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/query", method = RequestMethod.GET)
public List<User> queryUserList() {
return userService.queryUserList();
}
@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public void addUser(String name, String age) {
User user = new User();
userService.addUser(user);
}
@RequestMapping(value = "/queryUserById", method = RequestMethod.GET)
public User queryUserById(int id) {
return userService.getUserById(id);
}
}
UserDao
@Repository
public interface UserDao {
int deleteUserById(Integer id);
int addUser(User user);
int updateUser(User user);
User queryById(int id);
List<User> queryUserList();
}
User
package com.cwj.music.entity;
import java.io.Serializable;
public class User implements Serializable {
private int id;
private String name;
private String age;
//get..set
}
UserMapper.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.cwj.music.dao.UserDao">
<resultMap id="BaseResultMap" type="com.cwj.music.entity.User">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="age" jdbcType="INTEGER" property="age" />
</resultMap>
<sql id="Base_Column_List">
id, name, age
</sql>
<select id="queryUserList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user
</select>
</mapper>
结构图:
application.properties 这个地方 很多问题。按照我的写法就行了。
spring.datasource.url=jdbc:mysql://localhost:3306/music?useUnicode=true&&characterEncoding=UTF-8&&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver //很多人这个地方写的是com.mysql.jdbc.Driver(已弃用)
mybatis.typeAliasesPackage=com.cwj.music.entity
mybatis.mapper-locations=classpath*:/mapper/UserMapper.xml
总结 再看一遍:
UserServiceimpl: 负责业务逻辑。 ????
UserDao:通过UserMapper数据库操作 ????
UserService:在Impl中已经实现,最后把实现后的结果传递到Controller中。, ????
UserController:返回最后的结果数据。并实现路由功能。 ????
上一篇: PHP实现文件上传下载——心在忙罢了
下一篇: 技巧:批量创建域用户帐号