19mybatis集成dbcp

1、maven项目pom.xml 加入
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>

项目会自动引入如下jar
commons-logging1.2
commons-dbcp2 2.1.1
commons-pool2 2.4.2
2、BookMapper.java
package com.fz.mapper;

import com.fz.entity.Book;

import java.util.List;

/**
* Created by webrx on 2017-06-23.
*/
public interface BookMapper {
public List<Book> query();
}

BookMapper.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.fz.mapper.BookMapper">
<resultMap id="book" type="com.fz.entity.Book">
<id property="id" column="book_id"/>
<result property="name" column="book_name"/>
<result property="price" column="book_price"/>
</resultMap>

<select id="query" resultMap="book">
select * from book
</select>
</mapper>

3、测试核心代码
package com;

import com.fz.entity.Book;
import com.fz.mapper.BookMapper;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import javax.sql.DataSource;
import java.util.List;
import java.util.Properties;

/**
* Created by webrx on 2017-06-23.
*/
public class Demo {
protected SqlSessionFactory sf;
protected SqlSession ss;
protected BookMapper bdao;
@Before
public void init() throws Exception {
Properties p = new Properties();
p.setProperty("driverClassName", "com.mysql.jdbc.Driver");
p.setProperty("url", "jdbc:mysql://localhost:3306/db");
p.setProperty("username", "root");
p.setProperty("password","root");
p.setProperty("maxIdle", "10");
p.setProperty("maxActive", "20");
p.setProperty("maxWait", "-1");


new BasicDataSourceFactory();
DataSource ds = BasicDataSourceFactory.createDataSource(p);
Environment env = new Environment("mysql", new JdbcTransactionFactory(), ds);
this.sf = new SqlSessionFactoryBuilder().build(new Configuration(env));
// sqlSessionFactory.getConfiguration().addMapper(BookDao.class);//添加一个接口
this.sf.getConfiguration().addMappers("com.fz.mapper");// 添加所有接口
this.ss = this.sf.openSession();
this.bdao = this.ss.getMapper(BookMapper.class);
}

@After
public void close(){
this.ss.close();
}

@Test
public void abc(){
List<Book> bks = bdao.query();
for(Book b : bks){
System.out.println(b.getName());
}
System.out.println("hello");
}
}

怕什么真理无穷,进一步有一步的欢喜
原文地址:https://www.cnblogs.com/Mkady/p/7122269.html