myBatis学习
--myBatis:原iBatis(第二版本),后被Google收购,改名为myBatis(第三版本)。
学习配置:
1、熟悉XML。
2、熟悉JSP。
3、对hibernate有一定了解。
开发平台:
JVM虚拟机。
eclipse。
操作系统不限,硬件不限(只要能安装虚拟机和eclipse,并能编辑(写)代码)。
Java工程:
1、准备自定义lib:mybatis-3.0.3.jar;mybatis-3.0.3-javadoc.jar(文档);mybatis-3.0.3-sources.jar(源代码),文档和
源代码的包都可以解压。
2、准备DTD验证文件(用于动态提示):mybatis-3-config.dtd(myBatis(总)配置文件);mybatis-3-mapper.dtd(映射器配置文件)。
3、建立Java工程(参见eclipse创建工程之-Java工程)。
4、
myBatis主要是操作SqlSession(sql会话),而SqlSession又是从SqlSessionFactory(sql会话工厂)中得到的,SqlSessionFactory又可以从SqlSessionFactoryBuilder(sql会话工厂创建者)得到。SqlSessionFactoryBuilder有两种方式可以得到SqlSessionFactory:一、从XML配置文件;二、从Configuration(配置)。
1、XML配置文件:
名词解释 Resource(resource):资源。
Reader(reader):阅读者(阅读器、读取器)。
Java代码:String resource = "org/mybatis/exampple/Configuration.xml"; // myBatis的XML配置文件的路径。
Reader reader = Resource.getResourceAsReader(resource); // 以得到阅读器资源。
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
名词解释:
version:版本。
encoding:编码格式。
DOCTYPE:document(文件),type(类型)。
名词解释:
environment:环境。
default:默认。
development:开发。
transactionManager:执行者(事务管理者)。
dataSource:数据源。
property:属性。
driver:驱动。
mapper:绘图者(映射器)。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
2、Java创建:
名词解释:
DataSource(dataSource):数据源。
BlogDataSourceFactory:日志(日记)数据源工厂。
DataSource dataSource = BlogDataSourceFacotry.getBlogDataSource(); // 得到日志数据源。
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(enviroment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);