ibatis 入门

来源:互联网 发布:阿里云系统盘和数据盘 编辑:程序博客网 时间:2024/05/01 00:28

实体类

package com.ibatis;

import java.util.Date;

public class User {

 private int id;
 private String name;
 private Date birthday;
 private String email;

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Date getBirthday() {
  return birthday;
 }

 public void setBirthday(Date birthday) {
  this.birthday = birthday;
 }

 public String getEmail() {
  return email;
 }

 public void setEmail(String email) {
  this.email = email;
 }

}
  实体类和数据库表、sql配置文件

 

<?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 namespace="user">

 <typeAlias alias="userVO" type="com.ibatis.User" />


 <resultMap id="GetUser" class="com.ibatis.User">
  <result property="id" column="id" />
  <result property="name" column="name" />
  <result property="birthday" column="birthday" />
  <result property="email" column="email" />
 </resultMap>

 <insert id="createUser" parameterClass="userVO">
  insert into user
  (id,
  name, birthday,email) values (#id#, #name#,
  #birthday#,#email# )
 </insert>
 <select id="getUser" parameterClass="java.lang.String"
  resultMap="GetUser">
  select * from user where name=#value#
 </select>
 <update id="updateUser" parameterClass="userVO">
  UPDATE USER SET name=
  #name# WHERE id = #id#
    </update>
 <delete id="deleteUser" parameterClass="int">
  DELETE FROM USER WHERE
  id=#value#
    </delete>

 


</sqlMap>

 

总的配置文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
 <settings cacheModelsEnabled="true" enhancementEnabled="true"
  lazyLoadingEnabled="true" maxRequests="32" maxSessions="10"
  maxTransactions="5" useStatementNamespaces="false" />

 <transactionManager type="JDBC">
  <dataSource type="SIMPLE">
   <property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
   <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/ibatis_db" />
   <property name="JDBC.Username" value="root" />
   <property name="JDBC.Password" value="123456" />
  </dataSource>
 </transactionManager>
 <sqlMap resource="com/ibatis/User.xml" />
 
</sqlMapConfig>

 测试类

package com.ibatis;

import java.io.Reader;
import java.sql.SQLException;
import java.util.Date;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class TestHelloIbatis {

 SqlMapClient sqlMap;

 @Before
 public void setUp() throws Exception {
  Reader reader = Resources.getResourceAsReader("sql-map-config.xml");
  sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
 }

 // 
 @Test
 public void testInsert() throws Exception {
  User user = new User();
  user.setName("zhangsan3");
  user.setEmail("zs@163.com");
  user.setBirthday(new Date());
  try {
   sqlMap.insert("createUser", user);
   System.out.println("0000000");
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 @Test
 public void testGetUser() throws SQLException {

  User user = (User) sqlMap.queryForObject("getUser", "zhangsan1");
  System.out.println(user.getId() + " " + user.getEmail());

 }

 @Test
 public void testUpdateUser() throws SQLException {
  User user = new User();
  user.setId(1);
  user.setName("zhangsan111");
  user.setEmail("zs11@163.com");
  sqlMap.update("updateUser", user);
  System.out.println(user.getId() + " " + user.getEmail());

 }

 @Test
 // @Ignore
 public void testDeleteUser() throws SQLException {

  sqlMap.update("deleteUser", 1);

 }

 @After
 public void tearDown() throws Exception {
  sqlMap = null;
 }

}

 

 

 

 

原创粉丝点击