ibatis的CRUD代码

来源:互联网 发布:开淘宝店一个月赚3万 编辑:程序博客网 时间:2024/05/01 17:22

使用ibatis对数据库进行简单的CRUD操作,四个文件就可以搞定,分别是:SqlMapConfig.xml ,Contact.java , Contact.xml , test.java

1、 SqlMapConfig是有关操作数据库的配置文件,具体内容如下:

<? xml version="1.0" encoding="UTF-8" ?>  <! 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"  <!--是否启用缓存机制-- >     lazyLoadingEnabled="true"  <!-- 是否启用延迟加载机制 -->     enhancementEnabled="true"  <!-- 是否启用字节码增强机制 -->     errorTracingEnabled="true"  <!-- 是否启用错误处理机制 -->     maxRequests="32"  <!-- 最大并发请求数 -->     maxSessions="10"  <!-- 最大Session数 -->     maxTransactions="5"  <!-- 最大并发事务数 -->     useStatementNamespaces="true"/>  <!-- 是否启用名称空间 -->
   <transactionManager type="JDBC">  <!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->      <dataSource type="SIMPLE">   <!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) -->          <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>          <property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/test"/>          <property name="JDBC.Username" value="root"/>          <property name="JDBC.Password" value="root"/>      </dataSource>  </transactionManager>
  <sqlMap resource="com\ection\ibatis\Contact.xml"/>  
 </sqlMapConfig>

 

2、 Contact.java

public class Contact {private int id;private String firstName;private String lastName;private String email;public Contact(){}public Contact(String firstName, String lastName, String email){this.firstName = firstName;this.lastName = lastName;this.email = email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}


3、 Contact.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 namespace="Contact"> <!-- show all data of table -->  <!-- 查询 --> <select id="getAll" resultClass="com.ection.ibatis.Contact">     select * from contact </select> <!-- ResultMap的使用 --> <resultMap class="com.ection.ibatis.Contact" id="Contact">     <result property="id"/>     <result property="firstName"/>     <result property="lastName"/>     <result property="email"/> </resultMap> <select id="selectById" resultMap="Contact">     select * from contact where id = #id# </select>  <!-- 插入 --> <insert id="insert" parameterClass="com.ection.ibatis.Contact" >     insert into contact(firstName,lastName,email)      values(#firstName#,#lastName#,#email#)     <selectKey resultClass="int" keyProperty="id">         select last_insert_id() as id     </selectKey> </insert> <!-- 删除 --> <delete id="deleteAll" parameterClass="com.ection.ibatis.Contact">     delete from contact </delete> <delete id="deletById" parameterClass="int">     delete from contact where id = #id# </delete>  <!-- 更新 --> <update id="updateById" parameterClass="long">     update contact set lastName = "John" where id = #id# </update> </sqlMap>


4、test.java

Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
System.out.println("---------Insert information in contact-------");Contact contact = new Contact("Amit", "Kuman", "amit@163.com");sqlMap.insert("Contact.insert", contact);  System.out.println("Record inserted success");
System.out.println("-------update contact by Id");  long contactId = 5;  sqlMap.update("Contact.updateById", contactId);  System.out.println("update record is success");
System.out.println("--------delete all data in contact");int id = 6;sqlMap.delete("Contact.deleteById", id);System.out.println("delet data success");
//Output all contactsSystem.out.println("All Contacts");List<Contact> contacts = sqlMap.queryForList("Contact.getAll", null);for(Contact c : contacts){System.out.println(" " + c.getId());System.out.println(" " + c.getFirstName());System.out.println(" " + c.getLastName());System.out.println(" " + c.getEmail());System.out.println(" ");}

parameterClass与parameterMap的设置及其意义参考:

http://www.blogjava.net/qianbiguabi/archive/2008/12/22/247708.html

原创粉丝点击