凡客建站登录入口,wordpress用阿里云图床,网站建设 焦作,企业融资的方式有哪几种【0】README0#xff09;以下部分内容转自#xff1a;“mybatis v.3.4.0 User Guide”#xff1b;1#xff09;本文旨在梳理 如何 构建 mybatis 环境#xff0c;与 db 连接#xff0c;且采用 JUnit 搭建其测试用例#xff1b;2#xff09;本文的环境配置都是基于纯 my…【0】README0以下部分内容转自“mybatis v.3.4.0 User Guide”1本文旨在梳理 如何 构建 mybatis 环境与 db 连接且采用 JUnit 搭建其测试用例2本文的环境配置都是基于纯 mybatis 的 jar 包没有和 spring 或 springmvc 等第三方框架结合测试用例通过 JUnit 来做3for complete source code including mybatis jar and source jar, please visit https://github.com/pacosonTang/MyBatis/tree/master/mybatis_user_guide2【1】mybatis 核心对象的作用域和生命周期1核心对象1.1SqlSessionFactoryBuilder用来创建SqlSessionFactory 对象 一旦使用该对象创建了 SqlSessionFactory 对象后它就可以被 jvm 销毁了故其最佳作用域是在方法内即在方法内部声明 SqlSessionFactoryBuilder 对象来创建 SqlSessionFactory干货——创建完 SqlSessionFactory 实例后SqlSessionFactoryBuilder 就可以被销毁了 1.2SqlSessionFactory用来创建SqlSession对象该实例应该在应用程序执行期间都存在不需要每次操作数据库是都重新创建它所以应用它的最佳方式是写一个单例模式来创建干货——采用单例模式来创建 SqlSessionFactory package com.mybatis.service;import java.io.IOException;
import java.io.InputStream;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class BaseService {protected static SqlSessionFactory sqlSessionFactory;public BaseService() {sqlSessionFactory createSqlSessionFactory();}private static SqlSessionFactory createSqlSessionFactory() {if(sqlSessionFactory null) {String resource mybatis-config.xml;InputStream inputStream null;try {inputStream Resources.getResourceAsStream(resource);} catch (IOException e) {e.printStackTrace();}return new SqlSessionFactoryBuilder().build(inputStream);} else {return sqlSessionFactory;}}public SqlSessionFactory getSqlSessionFactory() {return sqlSessionFactory;}
} 1.3SqlSession用来获取映射器每个线程都有它自己的 SqlSession实例该实例是不能被共享且是线程不安全的它的最佳作用域是request 请求 或 方法作用域即每一次request 请求都要创建一个 SqlSession 实例不能再干货——每次访问结果后请务必关闭 SqlSession package com.mybatis.service;import org.apache.ibatis.session.SqlSession;import com.mybatis.dao.BlogMapper;
import com.mybatis.model.Blog;public class BlogService extends BaseService {private SqlSession session;public BlogService() {super();session sqlSessionFactory.openSession();}public SqlSession openSession() {return sqlSessionFactory.openSession();// sqlSessionFactory 由 BaseService 创建.}public Blog selectBlogById() {// method2. strongly recommended.session sqlSessionFactory.openSession(); try {BlogMapper mapper session.getMapper(BlogMapper.class);return mapper.selectBlog(1); } finally {session.close();}/*try { // method1.Blog blog session.selectOne(com.mybatis.dao.BlogMapper.selectBlog, 1);return mapper.selectBlog(1);} finally {session.close();}*/}
} 2映射器要知道 mybatis 可以对方法进行映射将 数据库访问方法的输入和输出参数都看做是对象干货——mybatis 可以对方法进行映射将 数据库访问方法的输入和输出参数都看做是对象多个输入参数添加到Mapstep1获取映射器它是有 上述提到到 SqlSession 得到的 step2调用该映射器的相关方法 与数据库进行交互 Bingo Attention参见 上面 com.mybatis.service.BlogService.java 【2】mybatis 环境配置step1获取 mybatis的 jar 和 source jar 安装 generator mybatis的插件参见 http://blog.csdn.net/pacosonswjtu/article/details/51693186当然也可以maven 自行构建 step2建立数据库和数据库表 step3修改 generatorConfig.xml文件然后利用generator 自动生成 mybatis 映射文件 step4配置mybatis-config.xml 文件 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE configuration
PUBLIC -//mybatis.org//DTD Config 3.0//EN
http://mybatis.org/dtd/mybatis-3-config.dtd
configurationproperties resourcejdbc.properties /environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC /dataSource typePOOLEDproperty namedriver value${driver} /property nameurl value${url} /property nameusername value${username} /property namepassword value${password} //dataSource/environment/environmentsmappersmapper resourcecom/mybatis/dao/BlogMapper.xml //mappers
/configuration step4.1建立 mybatis-config.xml文件用到的 jdbc.properties 属性文件 drivercom.mysql.jdbc.Driver
urljdbc:mysql://localhost:3306/t_mybatis
usernameroot
passwordroot
#定义初始连接数
initialSize0
#定义最大连接数
maxTotal20
#定义最大空闲
maxIdle20
#定义最小空闲
minIdle1
#定义最长等待时间
maxWait60000 step4.2配置 mybatis-config.xml文件用到的 刚刚生成的 BlogMapper.xml 映射文件修改相关配置 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapper
PUBLIC -//mybatis.org//DTD Mapper 3.0//EN
http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.mybatis.dao.BlogMapperselect idselectBlog resultTypecom.mybatis.model.Blogselect * from Blog where id #{id}/select
/mapper Attention至此mybatis的环境搭建已经完毕请依照个人习惯将上述映射文件配置文件放入到 习惯性的 package 下面package 变了注意要修改相关的 xml 文件【3】建立测试用例1测试用例如下public class MyTest {Testpublic void test1() {BlogService service new BlogService();Blog blog service.selectBlogById();System.out.println(blog.getTitle());}
}2测试结果Bingo【4】梳理 mybatis 从 client 到db 的 调用过程