Java持久层框架MyBatis简单实例
什么是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简单实例,希望对大家有所帮助
上一篇: java8中新的Date和Time详解
下一篇: Java单链表基本操作的实现