博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot 2.0 整合Mybatis详细步骤
阅读量:5330 次
发布时间:2019-06-14

本文共 4873 字,大约阅读时间需要 16 分钟。

=======spring boot 2.0 + Mybatis整合篇之XML,注解=======================================

1.pom.xml添加:--------------------------------------------------------------------------

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.3.2</version>
</dependency>
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>
  <version>1.1.9</version>
</dependency>

2.第2步分两个分支同步进行,支持XML和注解两种方式,如果SQL中没有Left join等高级关联查询,用注解方式即可解决,
如果有高级查询,需要配合XML方式写高级SQL语句。---------------------------------------------------------------

2.1 XML方式:接口类UserMapper

2.1.1 application.properties文件中添加:-----------------------------------------------------
mybatis.config-location=classpath:mybatis-config.xml

server.port=81

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/mybaitsdemo
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

2.1.2 建立实体类:-------------------------------------------------------------------------------

//需要建立set get方法,此处暂且省略了。
public class User {

private Long id;

private Integer age;
private String name;

public User() {

}

}

--接口类-Dao包中-------------------------------------------------------------------

  @Component

  public interface UserM {

  User findById(@Param("id") Long id);

  }

--------------------------------------------------------------

2.1.3 resources文件夹目录添加: mybatis-config.xml文件 ---------------------------------------

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <mappers>
    <mapper resource="mapper/UserMapper.xml"/>
  </mappers>
</configuration>

2.1.4 resources文件夹目录添加: mapper目录,在mapper目录里添加UserMapper.xml-------------------

------------------添加完后的目录结构:resources/mapper/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.lemi.xxxx">
  <select id="selectById" resultType="com.lemi.mydemo.entity.User">
    select * from user where id = #{id}
  </select>
</mapper>

 

2.1.5 在UserDao类中定义: 属性,sqlSession对象在spring boot加载的IOC容器中自动建立

并且把application.properties文件中配置的DataSource的值赋给sqlSession对象。------------------------------
  @Component //UserDao必须加 @Component 注解,在controller中可以自动注入 @Autowired
  public UserDao class{

  @Autowired

  private SqlSession sqlSession;

  public User selectById(long id) {

  return this.sqlSession.selectOne("selectById", id); //sqlSession.selectOne(String,gvr)

  }

  }
2.1.6 在controller包下添加:
  @RestController
  public class Home {

  @Autowired

  private UserDao userDao;

  @RequestMapping("/")

  public User index(){

  return userDao.selectById(1);

  }
  }

2.1.7 运行程序测试是否正常,浏览器中输入:http:localhost:81/ ----------------------------------------------------------

 

2.2 注解方式:注解方式下必须要Mapper接口类-------------------------------------------------------

2.2.1 application.properties文件中添加:-----------------------------------------------------

##mybatis.config-location=classpath:mybatis-config.xml (注解方式下不需要)

server.port=81

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/mybaitsdemo
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

2.2.2 建立实体类:-------------------------------------------------------------------------------

//需要建立set get方法,此处暂且省略了。
public class User {

private Long id;

private Integer age;
private String name;

public User() {

}

}

2.2.3 根据实体类建立Mapper接口类文件:UserMapper或UserM 名字随便起意义最好与实体类有关联 -------

  @Component

  public interface UserM {

  //注解形式配置SQL

  @Select("select * from user where id = #{id} ")
  User findById(@Param("id") Long id);

  }

2.2.4在UserDao类中定义:-------------------------------------------------------------------------
  @Component
  public UserDao class{
  @Autowired
  private UserMapper userMapper;

  public User selectById(long id) {

  return userMapper.findById(id);
  }
  }
2.2.5 在程序启动类中添加 @MapperScan("com.lemi.mydemo.dao")------------------------------------
------------------指定UserMapper接口类的包名,也可以是com.lemi.mydemo.* -----------------

  @SpringBootApplication

  @MapperScan("com.lemi.mydemo.dao")
  public class MydemoApplication {

  public static void main(String[] args) {

  SpringApplication.run(MydemoApplication.class, args);
  }
  }
2.2.6 在controller包下添加
  @RestController
  public class Home {

  @Autowired

  private UserDao userDao;

  @RequestMapping("/")

  public User index(){

  return userDao.selectById(1);

  }
  }

2.2.7 运行程序测试是否正常,浏览器中输入:http:localhost:81/ ----------------------------------------------------------

 

转载于:https://www.cnblogs.com/it999/p/8661455.html

你可能感兴趣的文章
core--线程池
查看>>
redux-effect
查看>>
Swift和OC混编
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>
[PHP] excel 的导入导出
查看>>
SDL(01-10)
查看>>
IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
FastReport.Net使用:[18]形状(Shape)控件用法
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
python的猴子补丁monkey patch
查看>>
架构模式: API网关
查看>>
正则验证积累
查看>>
Linux学习-汇总
查看>>