当前位置: 移动技术网 > IT编程>开发语言>Java > Java持久层框架MyBatis简单实例

Java持久层框架MyBatis简单实例

2019年07月22日  | 移动技术网IT编程  | 我要评论

什么是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 。

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简单实例,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网