首页 > 代码库 > iBatis 的简单入门
iBatis 的简单入门
iBATIS一词来源于“internet”和“abatis”的组合,于2010年6月16号被谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和·NET的持久层框架。
ibatis本是apache的一个开源项目,2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis。
这里来对ibatis做一个简单的入门,
第一步,引包
ibatis.jar 和数据库驱动包,这里选用的是mysql
第二步:写配置文件
SqlMapConfig.xml (名字自己取,和hibernate一样,读取的时候读取自己取得文件名就OK了)
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig> <!-- 引用JDBC属性的配置文件 --> <properties resource="cn/test/SqlMap.properties"></properties> <!-- 使用JDBC的事务管理 --> <transactionManager type="JDBC"> <!-- 数据源 --> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="${driver}"/> <property name="JDBC.ConnectionURL" value="${url}"/> <property name="JDBC.Username" value="${username}"/> <property name="JDBC.Password" value="${password}"/> </dataSource> </transactionManager> <!-- 这里可以写多个实体的映射文件 --> <sqlMap resource="cn/test/domain/Student.xml"/></sqlMapConfig>
然后创建一个参数文件
SqlMap.properties
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/testusername=rootpassword=123456
这里数据库的链接就基本上完成了,
然后开始写一个实体类:Student.java
package cn.test.domain;public class Student { private String Id; private String name; private int age; public Student() { // TODO Auto-generated constructor stub } public String getId() { return Id; } public void setId(String id) { Id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
写一个实体类对应的映射文件:Student.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap> <typeAlias alias="Student" type="cn.test.domain.Student"/> <!-- 这样以后改了sql,就不需要去改java代码了 --> <!-- id表示select里的sql语句,resultClass表示返回结果的类型 --> <select id="selectAllStudent" resultClass="Student"> select * from student </select></sqlMap>
这个框架简单易懂,这里的select就是查询放方法, ID就是这个查询SQL所分配的地址, type是映射的 Student实体类
然后将映射文件加入到核心配置文件中SqlMapConfig.xml
<sqlMap resource="cn/test/domain/Student.xml"/>
然后开始写一个测试的方法
package cn.test.service;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;import cn.test.domain.Student;public class StudentImpl implements IStudent { private static SqlMapClient sqlMapClient = null; // 读取配置文件 static { try { Reader reader = Resources.getResourceAsReader("cn/test/SqlMapConfig.xml"); sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { e.printStackTrace(); } } public void addStudent(Student student) { // TODO Auto-generated method stub } public List<Student> selStudent() { // TODO Auto-generated method stub List<Student> student = null; try { student = sqlMapClient.queryForList("selectAllStudent"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return student; }}
写一个测试文件进行测试即可
package cn.test.main;import java.util.List;import cn.test.domain.Student;import cn.test.service.IStudent;import cn.test.service.StudentImpl;public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub IStudent istudent = new StudentImpl(); List<Student> student = istudent.selStudent(); for(int i =0;i<student.size();i++){ System.out.printf("id="+student.get(i).getId() + "name = " +student.get(i).getName() + "age = " + student.get(i).getAge()); } }}
能够看到数据库的内容被取出来的时候就表示测试此框架成功
iBatis 的简单入门
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。