springboot+mybatis的总体思路就是:control层调用service层的方法,service层调用mapper里面的方法,res下面的mapper的xml配置文件对应主文件里面的mapper,进行数据库查询,再一级一级往上传。
文章目录
实例:添加用户信息:
1.目录结构
2.编写服务层 代码 userService.java
/**
* 增:添加单个用户信息
* @param user
* @return
*/
public void addUser(User user){
userMapper.addUser(user);//调用dao层mapper里面的方法
}
userMapper.java代码
/**
* 添加用户
* @param user
*/
void addUser(User user);
3.mapper映射文件
parameterType:指定插入语句里面的参数类型,添加之后系统会到对应的文件中找参数类型,
resultType:返回结果的类型,有返回值是需要添加
<!--添加-->
<insert id="addUser" parameterType="com.example.mybatis.entity.User">
insert into user(id,userName,passWord,realName)values(#{id},#{userName},#{passWord},#{realName})
</insert>
测试:
@Autowired
UserService userService;
@Test
public void addUserTest() {
for (int i = 0; i < 10; i++) {
User user = new User();
user.setId(i);
user.setUserName("dhl"+i);
user.setPassWord("9999");
user.setRealName("丁辉龙"+i);
//执行添加方法
userService.addUser(user);
}
}
运行结果:
全部代码:
UserService.java
package com.example.mybatis.service;
import com.example.mybatis.entity.User;
import com.example.mybatis.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 15:23
*/
@Service
public class UserService {
@Autowired
UserMapper userMapper;
/**
* 增:添加单个用户信息
* @param user
* @return
*/
public void addUser(User user){
userMapper.addUser(user);
}
/**
* 删:删除用户信息
* @param id
*/
public void delectUserById(Integer id){
userMapper.delectUserById(id);
}
/**
*
* 改:更新用户信息
* @param user
*/
public void updateUserIfNecessary(User user){
userMapper.updateUserIfNecessary(user);
}
/**
* 查:查新单个用户信息
* @param id
* @return
*/
public User Sel(int id){
return userMapper.Sel(id);
}
/**
* 查:查新所有信息
* @return
*/
public List<User> findAll(){
return userMapper.findAll();
}
}
UserMapper.java
package com.example.mybatis.mapper;
import com.example.mybatis.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author:wjup
* @Date: 2018/9/26 0026
* @Time: 15:20
*/
@Repository
public interface UserMapper {
/**
* 添加用户
* @param user
*/
void addUser(User user);
/**
*
* 查询用户
* @param id
* @return user
*/
User Sel(int id);
/**
* 查询所有用户
* @return all user
*/
List<User> findAll();
/**
* 更新用户
* @param user
*/
void updateUserIfNecessary(User user);
/**
* 删除用户信息
* @param id
*/
void delectUserById(Integer id);
}
userMapper.xml 映射文件
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatis.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.mybatis.entity.User">
<result column="id" jdbcType="INTEGER" property="id" />
<result column="userName" jdbcType="VARCHAR" property="userName" />
<result column="passWord" jdbcType="VARCHAR" property="passWord" />
<result column="realName" jdbcType="VARCHAR" property="realName" />
</resultMap>
<!-- 查-->
<select id="Sel" resultType="com.example.mybatis.entity.User">
select * from user where id = #{id}
</select>
<!-- 查所有-->
<select id="findAll" resultType="com.example.mybatis.entity.User">
SELECT * FROM user;
</select>
<!-- 更新-->
<update id="updateUserIfNecessary" parameterType="com.example.mybatis.entity.User">
update user
<set>
username=#{userName},
password=#{passWord},
realName=#{realName}
</set>
where id=#{id}
</update>
<!-- 删除用户信息-->
<delete id="delectUserById" parameterType="java.lang.Integer">
delete from user where id = #{id}
</delete>
<!--添加-->
<insert id="addUser" parameterType="com.example.mybatis.entity.User">
insert into user(id,userName,passWord,realName)values(#{id},#{userName},#{passWord},#{realName})
</insert>
</mapper>
测试
package com.example.mybatis;
import com.example.mybatis.entity.User;
import com.example.mybatis.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MybatisApplicationTests {
@Autowired
UserService userService;
@Test
public void addUserTest() {
for (int i = 0; i < 10; i++) {
User user = new User();
user.setId(i);
user.setUserName("dhl"+i);
user.setPassWord("9999");
user.setRealName("丁辉龙"+i);
//执行添加方法
userService.addUser(user);
}
}
@Test
void contextLoads() {
}
@Test
public void updateUserIfNecessary() {
User user = new User();
user.setId(66);
user.setUserName("dhl");
user.setPassWord("9999");
user.setRealName("丁辉龙");
//执行更新方法
userService.updateUserIfNecessary(user);
}
@Test
public void delectUserById() {
//执行更新方法
userService.delectUserById(1);
}
}