IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring Boot - 整合MyBatis -> 正文阅读

[Java知识库]Spring Boot - 整合MyBatis

1.1 需求

通过Spring Boot Web项目api接口的方式,整合MyBatis实现crud的操作。

1.2 创建Spring Boot Web项目

重温一下web项目创建的过程。

1.3 引入项目中需要的starter依赖

<dependency> 
	<groupId>mysql</groupId> 
	<artifactId>mysql-connector-java</artifactId> 
</dependency> 
<dependency> 
	<groupId>org.mybatis.spring.boot</groupId> 
	<artifactId>mybatis-spring-boot-starter</artifactId> 
	<version>1.3.1</version> 
</dependency> 
<dependency> 
	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-starter-thymeleaf</artifactId> 
</dependency>

1.4 创建数据库表

db_violentayang_springboot—>t_user

1.5 创建domain/User对象

public class User { 
	private int id; 
	private String username; 
	private String password; 
	private String number; 
	... 
}

1.6 开发dao层

@Repository 
@Mapper 
public interface UserMapper { 
	User find(String username); 
	List<User> list(); 
	int insert(User user); 
	int delete(int id); 
	int update(User user); 
}

1.7 开发service层

@Service 
public class UserService { 
	@Autowired private UserMapper userMapper; 
	public User findByUsername( String username )
		  {
			    return(userMapper.find( username ) );
		    }


		    public List<User> listUser()
		    {
			    return(userMapper.list() );
		    }


		    public int insertUser( User user )
		    {
			    return(userMapper.insert( user ) );
		    }


		    public int updateUser( User user )
		    {
			    return(userMapper.update( user ) );
		    }


		    public int delete( int id )
		    {
			    return(userMapper.delete( id ) );

1.8 开发controller层

@RestController @RequestMapping( value = "/user", method = { RequestMethod.GET, RequestMethod.POST } ) public class UserController {
	@Autowired private UserService userService;
	@RequestMapping( "/listone" ) @ResponseBody public User listOne( String username )
																	     {
		return(userService.findByUsername( username ) );
		< ? xml version = "1.0" encoding = "UTF-8" ? > < !DOCTYPE mapper PUBLIC "-//mybatis.org//DTD com.example.Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > < mapper namespace = "com.gupao.springbootdemo.dao.UserMapper" > < resultMap id = "result" type = "com.gupao.springbootdemo.domain.User" > < result property = "username" column = "username" / >
																		     }
																		     @RequestMapping( "/listall" ) @ResponseBody public List<User> listAll()
																		     {
			return(userService.listUser() );
		}
		@RequestMapping( value = "/add", method = RequestMethod.POST ) @ResponseBody public String add( User user )
																		     {
			int result = userService.insertUser( user );
			if ( result >= 1 )
																				     {
				return("添加成功");
			} else{
				return("添加失败");
			}
		}
		@RequestMapping( value = "/update", method = RequestMethod.POST ) @ResponseBody public String update( User user )
																		     {
			int result = userService.updateUser( user );
			if ( result >= 1 )
																				     {
				return("修改成功");
			} else{
				return("修改失败");
			}
		}
		@RequestMapping( value = "/delete", method = RequestMethod.GET ) @ResponseBody public String delete( int id )
																		     {
			int result = userService.delete( id );
			if ( result >= 1 )
																				     {
				return("删除成功");
			} else{
				return("删除失败");
			}
		}
	}

1.9 resources目录下创建mapper文件夹—UserMapper.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD com.example.Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.violentayang.springbootdemo.dao.UserMapper">
    <resultMap id="result" type="com.violentayang.springbootdemo.domain.User">
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <result property="number" column="number"/>
    </resultMap>
    <select id="find" resultMap="result"> SELECT * FROM t_user where username=#{username} </select>
    <select id="list" resultMap="result"> SELECT * FROM t_user </select>
    <insert id="insert" parameterType="com.violentayang.springbootdemo.domain.User" keyProperty="id" useGeneratedKeys="true"> INSERT INTO t_user (id,username,password,number )VALUES ( #{id}, #{username, jdbcType=VARCHAR}, #{password, jdbcType=VARCHAR}, #{number} )</insert>
    <delete id="delete"parameterType="int"> delete from t_user where id=#{id} </delete>
    <update id="update" parameterType="com.violentayang.springbootdemo.domain.User"> update t_user set username=#{username},password=#{password},number=#{number} where id=#{id} </update>
</mapper>

1.10 application.yml文件

#数据源 
spring: 
	datasource: 
		url: jdbc:mysql://39.100.39.63:3306/db_gupao_springboot? useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 
		username: root 
		password: 123456 
		driver-class-name: com.mysql.cj.jdbc.Driver 
#mybatis托管mapper文件 
mybatis: 
	mapper-locations: classpath:mapper/*.xml 
##web端口 
server: 
	port: 8888

1.11 启动项目测试

查询

http://localhost:8888/user/listone?username=violentayang

全部查询

http://localhost:8888/user/listall

增加

http://localhost:8888/user/add?id=3&username=AAA&password=111111&number=300

更新

http://localhost:8888/user/update?id=3&username=BBB

删除
http://localhost:8888/user/delete?id=3

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:14:49  更:2022-02-28 15:15:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:09:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码