spring boot整合mybatis使用c3p0数据源连接mysql
刚刚接触springboot,对很多东西都不熟悉,例如,它的注解方式,他的配置方式等;听说它很牛逼,所以就尝试着去学习。在基本熟悉springboot的第一个程序之后。想到当时spring整合mybatis时使用了数据源连接数据库,所以自己也想尝试使用c3p0连接数据库。所以就有了以下的内容:
首先第一步,创建maven项目导入包:
pom.xml
<parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>1.4.1.release</version> </parent> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <version>1.4.1.release</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <version>1.4.1.release</version> </dependency> <dependency> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-starter</artifactid> <version>1.1.1</version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.1.33</version> </dependency> <dependency> <groupid>c3p0</groupid> <artifactid>c3p0</artifactid> <version>0.9.1.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build>
应用服务类
import org.mybatis.spring.annotation.mapperscan; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.enableautoconfiguration; import org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication @mapperscan(value="com.myk.spring.t3")//扫描mapper包 @enableautoconfiguration//自动载入应用程序所需的所有bean,当使用exclude这个属性时,是禁止自动配置某个类 public class application { public static void main(string[] args) { springapplication.run(application.class, args); } }
配置文件内容(配置数据库)
datasource: url: jdbc:mysql://ip:port/databasename driver-class: com.mysql.jdbc.driver username: *** password: ***
准备无误,尝试启用应用服务,没有报错即可继续配置数据源,尝试很多方法,自己注入是不可能的,所以,我就想到spring的配置,尝试按照那样的方式去配置,所以,datasourceconfig.java
import javax.sql.datasource; import org.mybatis.spring.sqlsessionfactorybean; import org.springframework.beans.factory.annotation.qualifier; import org.springframework.boot.autoconfigure.jdbc.datasourcebuilder; import org.springframework.boot.context.properties.configurationproperties; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.context.annotation.primary; import com.mchange.v2.c3p0.combopooleddatasource; @configuration public class datasourceconfig { @bean(name="datasource") @qualifier(value="datasource")//限定描述符除了能根据名字进行注入,但能进行更细粒度的控制如何选择候选者 @primary//用@primary区分主数据源 @configurationproperties(prefix="c3p0.primary")//指定配置文件中,前缀为c3p0的属性值 public datasource datasource(){ return datasourcebuilder.create().type(combopooleddatasource.class).build();//创建数据源 } /** *返回sqlsessionfactory */ @bean public sqlsessionfactorybean sqlsessionfactorybean(){ sqlsessionfactorybean sqlsessionfactory = new sqlsessionfactorybean(); sqlsessionfactory.setdatasource(datasource()); return sqlsessionfactory; } }
也许会有疑问,为什么这里只需要一个sqlsessionfactory,这个具体要去熟悉spring整合mybatis。还有看看底层就明白了
这样就可以自动装配了。
数据源都准备好了,尝试连接数据库吧
编辑接口
examplemapper.java
import java.util.list; public interface examplemapper { public list<users> getusers(); }
编辑mapper 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.*.examplemapper"> <select id="getusers" resulttype="com.*.users"> select * from users </select> </mapper>
编辑实体类,因为要将结果反射到bean类中
users.java
public class users { private int userid; private string username; @override public string tostring() { return "users [userid=" + userid + ", username=" + username + "]"; } public int getuserid() { return userid; } public void setuserid(int userid) { this.userid = userid; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public users(int userid, string username) { super(); this.userid = userid; this.username = username; } public users() { super(); // todo auto-generated constructor stub } }
编辑实现
example2.java
import java.util.list; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import org.springframework.web.bind.annotation.restcontroller; @restcontroller @requestmapping(value="/example2")//映射 public class example2 { @autowired public examplemapper examplemapper; @responsebody @requestmapping(value="/gu") public list<users> getusers(){ return examplemapper.getusers(); } }
输入地址:http://localhost:8080/example2/gu
面显示结果:
[{“userid”:1,”username”:”as”},{“userid”:2,”username”:”we”},{“userid”:3,”username”:”zx”}]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Java数据结构实例(冒泡、选择、插入、希尔排序)
下一篇: 产业互联网,不是腾讯、阿里们的“专利”
推荐阅读
-
Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL数据库的方法
-
Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL数据库的方法
-
Spring Boot 整合 MyBatis 连接 Oracle数据库
-
Spring Boot入门(七):使用MyBatis访问MySql数据库(xml方式)
-
spring boot整合mybatis利用Mysql实现主键UUID的方法
-
springboot整合mybatis采用druid连接池对mysql,hive双数据源整合并打包
-
springboot多数据源配置mybatis采用druid连接池对mysql,hive双数据源整合
-
Spring boot整合Mybatis-plus分页插件的使用
-
Spring Boot 整合 Mybatis 实现 Druid 多数据源详解 springjavajdbc
-
Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)