• 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");
    }
    }

    怕什么真理无穷,进一步有一步的欢喜
  • 相关阅读:
    MongoDB
    Flask-Migrate
    Flask-Script
    Flask-SQLAlchemy
    SQLAlchemy
    DBUtils
    依存句法分析
    如何将本地的jar包上传到maven本地仓库中
    git使用手册
    中文网页编解码问题
  • 原文地址:https://www.cnblogs.com/Mkady/p/7122269.html
Copyright © 2020-2023  润新知