Mybaits简介
2015-06-18 09:28
357 查看
Mybaits是什么呢?它的前身是ibaits, 支持普通的sql语句进行查询,存储过程和高级映射的优秀的持久层框架。其项目的定位与Hibernate一样,通过简单的XML配置和注解完成数据库记录与对象之间的映射。通过对映射过程的封装,使得代码风格更加的符合面向对象程序设计的思想。相比于Hibernate,Mybaits更加的灵活和轻量化。
ORM框架的思想:
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory 产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。
5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。
MyBait的使用初步(开发环境:JDK1.7,eclipse Helios,mysql5.5,maven3):
1、安装mysql
2、新建maven工程
3、修改pom文件,添加Mybaits依赖和connector依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
4、在src/main/resources目录下新建Configuration.xml用于配置Mybaits的相关信息
<?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="com.yihaomen.mybaits.datasource.C3P0DataSourceFactory">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/caojiantong" />
<property name="user" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/yihaomen/mybatis/model/User.xml" />
</mappers>
</configuration>
5、新建包com.yihaomen.mybaits.model,新建model User.java
package com.yihaomen.mybatis.model;
public class User {
private int id;
private String userName;
private int userAge;
private String userAddress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
}
6、在User.java包下新建User.xml用于配置User对象和数据库之间的映射关系
<?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.yihaomen.mybatis.models.UserMapper">
<select id="selectUserByID" parameterType="int" resultType="com.yihaomen.mybatis.model.User">
select * from user where id = #{id}
</select>
</mapper>
7、编写测试类Test.jave
public class Test {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static{
try{
//1读取配置文件
reader = Resources.getResourceAsReader("Configuration.xml");
//2创建sessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}catch(Exception e){
e.printStackTrace();
}
}
public static SqlSessionFactory getSession(){
return sqlSessionFactory;
}
public static void main(String[] args) {
//3取得sqlSession
SqlSession session = sqlSessionFactory.openSession();
try {
//4、执行说sqlMapper,取得User对象
//方法1
User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1);
System.out.println(user.getUserAddress());
System.out.println(user.getUserName());
} finally {
session.close();
}
}
}
上述7个步骤是Mybaits的一个简单实例
接下来内容,我们会根据上述步骤中涉及到的内容进行深入的了解。
ORM框架的思想:
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory 产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。
5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。
MyBait的使用初步(开发环境:JDK1.7,eclipse Helios,mysql5.5,maven3):
1、安装mysql
2、新建maven工程
3、修改pom文件,添加Mybaits依赖和connector依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
4、在src/main/resources目录下新建Configuration.xml用于配置Mybaits的相关信息
<?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="com.yihaomen.mybaits.datasource.C3P0DataSourceFactory">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/caojiantong" />
<property name="user" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/yihaomen/mybatis/model/User.xml" />
</mappers>
</configuration>
5、新建包com.yihaomen.mybaits.model,新建model User.java
package com.yihaomen.mybatis.model;
public class User {
private int id;
private String userName;
private int userAge;
private String userAddress;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
}
6、在User.java包下新建User.xml用于配置User对象和数据库之间的映射关系
<?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.yihaomen.mybatis.models.UserMapper">
<select id="selectUserByID" parameterType="int" resultType="com.yihaomen.mybatis.model.User">
select * from user where id = #{id}
</select>
</mapper>
7、编写测试类Test.jave
public class Test {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static{
try{
//1读取配置文件
reader = Resources.getResourceAsReader("Configuration.xml");
//2创建sessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}catch(Exception e){
e.printStackTrace();
}
}
public static SqlSessionFactory getSession(){
return sqlSessionFactory;
}
public static void main(String[] args) {
//3取得sqlSession
SqlSession session = sqlSessionFactory.openSession();
try {
//4、执行说sqlMapper,取得User对象
//方法1
User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1);
System.out.println(user.getUserAddress());
System.out.println(user.getUserName());
} finally {
session.close();
}
}
}
上述7个步骤是Mybaits的一个简单实例
接下来内容,我们会根据上述步骤中涉及到的内容进行深入的了解。
相关文章推荐
- STOP:c0000218 {Registry File Failure}
- Debug Assertion Failed!
- Debug Assertion Failed!
- [Dairy 2:2015.6.18] 停课之前
- HDOJ 1302 The Snail(水题)
- Uva - 10976 - Fractions Again?!
- Uva - 10976 - Fractions Again?!
- 关于vs2010 error: LNK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决...
- Container with most water
- tail跟踪日志时打印时间
- hdu oj 4300 Clairewd’s message AC code
- [LeetCode] Contains Duplicate III
- Climbing Stairs
- 对retain 和 assign的理解
- Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo=0x17426e940 {NS
- hdu 1702 ACboy needs your help again!
- 从Clarifai的估值聊聊深度学习
- UVa 10551 - Basic Remains
- [AIR] 检测移动设备运动
- youwuku和koudaitong以及weimeng差异