Java——SpringBoot整合Mybatis

1    前提条件

  • 已安装Java的JDK
  • 已安装maven。并配置和建立Maven的本地仓库
  • 已安装IDEA开发工具
  • 有可连接的数据库

本机环境如下:

系统

Windows 10专业版 x64

JDK

1.8.0_191

maven

apache-maven-3.5.2

开发工具

Intellij IDEA 2018.2.4 专业版

数据库

MySql

数据库语句如下:

 1 DROP TABLE IF EXISTS `user`;
 2 
 3  
 4 
 5 CREATE TABLE `user` (
 6 
 7   `id` int(11) NOT NULL AUTO_INCREMENT,
 8 
 9   `username` varchar(50) DEFAULT NULL,
10 
11   `password` varchar(50) DEFAULT NULL,
12 
13   `name` varchar(50) DEFAULT NULL,
14 
15   `age` int(50) DEFAULT NULL,
16 
17   `email` varchar(50) DEFAULT NULL,
18 
19   PRIMARY KEY (`id`)
20 
21 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
user

初始时插入数据如下:

insert  into `user`(`id`,`username`,`password`,`name`,`age`,`email`) values (1,'张三','123456',NULL,NULL,NULL),(2,'李四','123456',NULL,NULL,NULL)

2    总体思路

3    详细思路

3.1   创建SpringBoot项目

打开Idea,创建简单的SpringBoot项目。SpringBoot项目的创建还是很简单的,网上也很容易搜到教程。这里就不详细叙述了。

3.2   引入Mybatis和数据库的依赖

打开pom.xml文件,引入Mybatis和当前数据库驱动的依赖。

 1 <!--mybatis起步依赖-->
 2 <dependency>
 3     <groupId>org.mybatis.spring.boot</groupId>
 4     <artifactId>mybatis-spring-boot-starter</artifactId>
 5     <version>1.1.1</version>
 6 </dependency>
 7 <!-- MySQL连接驱动 -->
 8 <dependency>
 9     <groupId>mysql</groupId>
10     <artifactId>mysql-connector-java</artifactId>
11 </dependency>

3.3   配置资源(以properties为例)。配置数据库和实体类的包

新建配置文件(这里为application.properties)。可以使用properties或者yml文件进行配置。

 

燃煤,我们可以创建实体类和映射文件对应的包和文件夹。

接下来,我们配置数据库,以及实体类和映射文件的包路径。

 1 # 数据库配置
 2 spring.datasource.driverClassName=com.mysql.jdbc.Driver # 改为 com.mysql.cj.jdbc.Driver  "com.mysql.jdbc.Driver"已经不再推荐使用(2024.9.27)
 3 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssm?useUnicode=true&characterEncoding=utf8
 4 spring.datasource.username=root
 5 spring.datasource.password=root
 6 
 7 # 整合Mybatis
 8 # 实体类配置文件的位置
 9 mybatis.type-aliases-package=com.lyj.domain
10 # 接口配置文件的位置
11 mybatis.mapper-locations=classpath:mapper/*Mapper.xml

3.4   编写实体类

在实体类文件夹(这里为con.lyj.domain)添加数据库设计的实体类。

1 @Data
2 public class User  {
3     private Integer id;
4     private String username;
5     private String password;
6     private String name;
7     private  Integer age;
8     private  String email;
9 }

注:这里使用了lombok,lombok可以自己寻找学习资料,或者:https://www.cnblogs.com/luyj00436/p/16696742.html

如果不习惯,可以将它们写成包含get、set以及toString方法的实体类,也不费事。

3.5   编写Mapper接口

这里,我们以常用的方法:查询所有数据、查询单个数据、添加单个数据、修改单个数据、修改所有数据为例。

在Mapper包(com.lyj.mapper)下创建UserMapper.java接口。

 1 @Mapper
 2 public interface UserMapper {
 3 
 4     /**
 5      * 查询所有用户
 6      * @return
 7      */
 8     public List<User> queryUserList();
 9 
10     /**
11      * 根据Id查询用户
12      * @param Id
13      * @return
14      */
15     public User queryUserById(int Id);
16 
17     /**
18      * 添加用户用户信息
19      * @param user
20      * @return
21      */
22     public  int addUser(User user);
23 
24     /**
25      * 更新用户信息
26      * @param user
27      * @return
28      */
29     public int  updatteUser (User user);
30 
31     /**
32      * 删除用户信息
33      * @param id
34      * @return
35      */
36     public  int deleteUser (int id);
37 
38 }

3.6   编写实现Mapper的配置的具体语句

知道了要做的事情,我们就去实现它,人生如此,Mybatis也是如此。所以,在资源文件(resources/mapper)文件下创建UserMapper对应的xml文件。我们要做的事情就是实现这几个接口的数据库语句。

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 3         "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 4 <mapper namespace="com.lyj.mapper.UserMapper">
 5     <select id="queryUserList" resultType="user">
 6         select * from user
 7     </select>
 8 
 9     <select id="queryUserById" resultType="user">
10         select * from user where id =#{id}
11     </select>
12     <insert id="addUser" parameterType="user">
13         insert  into user(username,password,name ,age,email)values(#{username},#{password},#{name},#{age},#{email})
14     </insert>
15     <update id="updateUser" parameterType="User">
16         update user set name = #{username},password={password},name=#{name},age=#{age},email = #{email} where id = #{id}
17     </update>
18     <delete id="deleteUser" parameterType="Int">
19         delete from user where id = #{id}
20     </delete>
21 </mapper>

这样Mybatis就算整合完成了。下一步,我们需要验证它。

posted @ 2022-09-17 08:59  陆陆无为而治者  阅读(433)  评论(0编辑  收藏  举报