spring-bootr整合mybatis
来源:互联网 发布:数据加密 编辑:程序博客网 时间:2024/06/06 17:02
1.在pom.xml文件中导入
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version></dependency><!-- mysql 驱动 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>在配置文件上application.properties中 配置上jdbc的一些配置信息
#jdbcspring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.max-active=10spring.datasource.max-idle=5spring.datasource.min-idle=0#修改spring-boot的默认端口号server.port=8022启动类上做如下配置
package com.springbootmybatis;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.tomcat.jdbc.pool.DataSource;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;//@MapperScan注解,指定扫描的mapper接口所在的包 也可以在mapper接口上加@Mapper 两者效果一样@SpringBootApplication@MapperScan("com/springbootmybatis/dao")public class SpringbootMybatisApplication { @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource() { return new org.apache.tomcat.jdbc.pool.DataSource(); } @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/*.xml")); return sqlSessionFactoryBean.getObject(); } @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } public static void main(String[] args) { SpringApplication.run(SpringbootMybatisApplication.class, args); }}
mapper接口(不需要写任何的实现类)
package com.springbootmybatis.dao;import com.springbootmybatis.bean.Users;/** * Created by 340092 on 2017/11/20. */public interface UsersDao { Users findById(Long id);}
mapper配置文件
<?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.springbootmybatis.dao.UsersDao"> <select id="findById" resultType="com.springbootmybatis.bean.Users"> SELECT * FROM users WHERE id = #{id} </select></mapper>这里注意namespace 对应的是mapper接口的全路径
Users实体类
最后controller层package com.springbootmybatis.bean;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import java.io.Serializable;/** * Created by 340092 on 2017/11/20. */public class Users implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String email; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
package com.springbootmybatis.controller;import com.springbootmybatis.bean.Users;import com.springbootmybatis.dao.UsersDao;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;/** * Created by 340092 on 2017/11/20. */@RestController@RequestMapping("/users")public class UsersController { @Resource UsersDao usersDao; @RequestMapping(value = "/findById",produces="text/html;charset=UTF-8",method = RequestMethod.GET) public String findById(Long id){ Users byId = usersDao.findById(id); return byId.getName(); }}
以上代码比较简陋 主要是的怎么整合
还有一种比较快捷的方式 全部交给spring-boot管理
导入依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version></dependency><!-- mysql 驱动 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.5</version></dependency>
这里采用的是阿里巴巴的druid数据连接池
为了方便使用 yml配置文件
application.yml
配置内容如下
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/test username: root password: root driver-class-name: com.mysql.jdbc.Driver minIdle: 1 maxActive: 2 initialSize: 1 timeBetweenEvictionRunsMillis: 3000 minEvictableIdleTimeMillis: 300000 testWhileIdle: true testOnBorrow: false testOnReturn: falsemybatis: mapperLocations: classpath*:mapper/*.xml typeAliasesPackage: com.springbootmybatis.daoUsers.java:
package com.springbootmybatis.bean;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import java.io.Serializable;/** * Created by 340092 on 2017/11/20. */public class Users implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String email; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; }}UserDao.javapackage com.springbootmybatis.dao;import com.springbootmybatis.bean.Users;import org.apache.ibatis.annotations.Mapper;/** * Created by 340092 on 2017/11/20. */@Mapperpublic interface UsersDao { Users findById(Long id);}这里要加上@Mapper不然的话找不到要用的Mapper接口mapper配置文件<?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.springbootmybatis.dao.UsersDao"> <select id="findById" resultType="com.springbootmybatis.bean.Users"> SELECT * FROM users WHERE id = #{id} </select></mapper>controller类package com.springbootmybatis.controller;import com.springbootmybatis.bean.Users;import com.springbootmybatis.dao.UsersDao;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;/** * Created by 340092 on 2017/11/20. */@RestController@RequestMapping("/users")public class UsersController { @Resource UsersDao usersDao; @RequestMapping(value = "/findById",produces="text/html;charset=UTF-8",method = RequestMethod.GET) public String findById(Long id){ Users byId = usersDao.findById(id); return byId.getName(); }}启动类package com.springbootmybatis;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication//启注解事务管理@EnableTransactionManagementpublic class SpringbootMybatisApplication { public static void main(String[] args) { SpringApplication.run(SpringbootMybatisApplication.class, args); }}启动之后 以上两种方式 在浏览器输入访问路径http://localhost:8022/users/findById?id=7即可访问 其实整合的方式有很多种可以自己尝试一下
阅读全文
0 0
- spring-bootr整合mybatis
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- 【Spring+Mybatis】Spring整合Mybatis
- MyBatis-----2、MyBatis整合Spring
- Spring整合Mybatis
- spring整合myBatis
- MyBatis-Spring框架整合
- MyBatis+Spring整合示例
- MyBatis+Spring整合示例
- MyBatis+Spring整合方案
- spring + struts2 + mybatis整合
- Spring整合Mybatis
- Mybatis整合Spring
- Spring Mybatis 整合
- spring整合MyBatis
- Mybatis整合Spring
- MyBatis+Spring整合示例
- 蛇形填数
- 27 个机器学习、数学、Python 速查表
- 前端框架-11-jQuery文档&对象
- graphviz安装配置
- bash中 2>&1 & 的解释
- spring-bootr整合mybatis
- 云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战008-DataStream与MySql自定义sink和source(Scala版)003
- Spring Cloud构建微服务架构-服务消费(Ribbon)
- sdutoj-4078 女装大佬买地题解
- 初识OPENWRT:uci介绍与命令行运用
- 基于Struts2和hibernate的WebSocket聊天室的实现教程三:Hibernate个人信息管理
- 怎样知道Linux kernel每一个历史版本的主要变化
- Android实现点击两次返回键退出
- MT6735[CTS Verifier][Test Method] Battery Saving Mode Test