欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java持久层框架MyBatis简单实例

程序员文章站 2024-03-13 10:22:27
什么是mybatis mybatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache software foundation 迁移到了...

什么是mybatis

mybatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis 。ibatis一词来源于“internet”和“abatis”的组合,是一个基于java的持久层框架。ibatis提供的持久层框架包括sql maps和data access objects(dao)。

mybatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis 。2013年11月迁移到github。

2011年6月ibatis 更名为 mybatis,从 ibatis 到 mybatis,不只是名称上的变化,mybatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 jdk 的泛型和注解特性进行了简化。所以你懂的,开始学习就从mybatis吧。

例子使用mybatis+mysql实现一个用户表的查询,如下:

1、数据库

在mysql中,test数据库下,简历user表,字段:id,name,password,建表语句略。

2、需导入的包

只有两个: mybatis-3.0.3.jar mysql-connector-java-5.1.16-bin.jar(jdbc包)

3、目录结构

采用最简单的结构,com.mybatis包下有且仅有四个文件:configuration.xml、user.xml、user.java、test.java 。

Java持久层框架MyBatis简单实例

4、mybatis配置文件configuration.xml

<?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> 
<typealiases> 
<typealias alias="user" type="com.mybatis.user"></typealias> 
</typealiases> 
<environments default="development"> 
<environment id="development"> 
<transactionmanager type="jdbc"></transactionmanager> 
<datasource type="pooled"> 
<property name="driver" value="com.mysql.jdbc.driver" /> 
<property name="url" value="jdbc:mysql://localhost:3306/test?useunicode=true&characterencoding=utf-8" /> 
<property name="username" value="root" /> 
<property name="password" value="123456" /> 
</datasource> 
</environment> 
</environments> 
<mappers> 
<mapper resource="user.xml"/> 
</mappers> 
</configuration>

5、user表sql文件user.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="user"> 
<select id="selectuser" parametertype="int" resulttype="user"> 
select * from user where id = #{id} 
</select> 
<select id="selectusers" resulttype="user"> 
select * from user 
</select> 
</mapper>

6、表结构文件user.java

package com.mybatis; 
public class user { 
private int id; 
private string name; 
private string password; 
public user(){} 
public user(int id, string name) { 
this.id = id; 
this.name = name; 
} 
public int getid() { 
return this.id; 
} 
public void setid(int id) { 
this.id = id; 
} 
public string getname() { 
return this.name; 
} 
public void setname(string name) { 
this.name = name; 
} 
public string getpassword() { 
return this.password; 
} 
public void setpassword(string password) { 
this.password = password; 
} 
@override 
public string tostring() { 
return "user [id=" + this.id + ", name=" + this.name + ", password=" + this.password + "]"; 
} 
}

7、测试用例test.java

package com.mybatis; 
import java.io.ioexception; 
import java.io.reader; 
import java.util.list; 
import org.apache.ibatis.io.resources; 
import org.apache.ibatis.session.sqlsession; 
import org.apache.ibatis.session.sqlsessionfactory; 
import org.apache.ibatis.session.sqlsessionfactorybuilder; 
public class test { 
public static void main(string[] args) throws ioexception { 
string resource = "configuration.xml"; 
reader reader = resources.getresourceasreader(resource); 
sqlsessionfactory ssf = new sqlsessionfactorybuilder().build(reader); 
sqlsession session = ssf.opensession(); 
try{ 
user user = session.selectone("selectuser", "1"); 
system.out.println(user.getname()); 
system.out.println(user); 
system.out.println("--------------分隔线---------------"); 
list<user> users = session.selectlist("selectusers"); 
for(int i=0; i<users.size(); i++) { 
system.out.println(users.get(i).getname()); 
} 
} catch (exception e) { 
e.printstacktrace(); 
} finally { 
session.close(); 
} 
} 
}

以上所述是小编给大家介绍的java持久层框架mybatis简单实例,希望对大家有所帮助