ibatis簡易教程

來源:互聯網
上載者:User
顯示資料庫所有資料1、這裡使用的是MySQL資料庫,先建立一個test資料庫drop TABLE IF EXISTS CONTACT;CREATE TABLE CONTACT(    contactId int(11) NOT NULL AUTO_INCREMENT,    firstName varchar(20) default NULL,    lastName varchar(20) default NULL,    email varchar(20) default NULL,    PRIMARY KEY (contactId));insert into contact(firstName,lastName,email) values('aaa','bbb','ccc@qq.com');insert into contact(firstName,lastName,email) values('aaa','ddd','eee@qq.com');2、然後建立對應的pojo對象package com.csii.test;public class Contact {private String firstName;private String lastName;private String email;private int contactId;public Contact(){}public Contact(String firstName,String lastName,String email){this.firstName = firstName;this.lastName = lastName;this.email = email;}public Contact(int contactId,String firstName,String lastName,String email){this.contactId = contactId;this.firstName = firstName;this.lastName = lastName;this.email = email;}public String getEmail(){return this.email;}public void setEmail(String email){this.email = email;}public String getFirstName(){return this.firstName;}public void setFirstName(String firstName){this.firstName = firstName;}public int getContactId(){return this.contactId;}public void setContactId(int contactId){this.contactId = contactId;}public String getLastName(){return this.lastName;}public void setLastName(String lastName){this.lastName = lastName;}}3、緊接著編寫SqlMapConfig.xml<?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 useStatementNamespaces="true" /><transactionManager type="JDBC"><dataSource type="SIMPLE"><property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /><property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test" /><property name="JDBC.Username" value="root" /><property name="JDBC.Password" value="admin" /></dataSource></transactionManager><sqlMap resource="Contact.xml" /></sqlMapConfig>4、緊接著編寫Contact.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"    "http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="Contact"><select id="getAll" resultClass="com.csii.test.Contact">select * from contact</select><select id="getById" resultClass="com.csii.test.Contact">select * from contact wherecontactId = #contactId#</select></sqlMap>5、編寫測試java類檔案package com.csii.test;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.List;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class IbatisExample{private static Reader reader;private static SqlMapClient sqlMap;public static void main(String[] args) throws IOException, SQLException {reader = Resources.getResourceAsReader("SqlMapConfig.xml");sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);testRead();}private static void testRead() throws IOException, SQLException {System.out.println("All Contacts");List<Contact> contacts = sqlMap.queryForList("Contact.getAll",null);for (Contact contact : contacts) {System.out.println("contactId="+contact.getContactId());System.out.println("firstName="+contact.getFirstName());System.out.println("lastName="+contact.getLastName());System.out.println("email="+contact.getEmail());System.out.println("==============================");System.out.println("按條件查詢Contacts");int contactId = 1;List<Contact> contacts2 = sqlMap.queryForList("Contact.getById",contactId);for (Contact contact2 : contacts2) {System.out.println("contactId="+contact2.getContactId());System.out.println("firstName="+contact2.getFirstName());System.out.println("lastName="+contact2.getLastName());System.out.println("email="+contact2.getEmail());System.out.println("===========================");}}}}程式輸出結果為:All ContactscontactId=1firstName=aaalastName=bbbbemail=123@qq.com==============================按條件查詢 ContactscontactId=1firstName=aaalastName=bbbbemail=123@qq.com===========================contactId=2firstName=ccclastName=ddddemail=456@qq.com==============================按條件查詢 ContactscontactId=1firstName=aaalastName=bbbbemail=123@qq.com===========================其中我的jar檔案使用的是:ibatis-2.3.0.677.jar 向資料庫插入資料1、在contact.xml中增加如下內容<insert id="insert" parameterClass="com.csii.test.Contact">insert into contact(firstName,lastName,email) values(#firstName#,#lastName#,#email#)</insert>2、在測試java類檔案中添加如下內容private static void testInsert() throws IOException,SQLException{Contact contact = new Contact("test", "wangxu", "11@qq.com");sqlMap.insert("Contact.insert",contact);}
刪除資料教程1、在contact.xml中增加如下內容<delete id="deleteById">delete from Contact where contactId = #contactId#</delete>2、在測試java類檔案中添加如下內容private static void testDelete() throws IOException,SQLException{int contactId = 1;sqlMap.delete("Contact.deleteById",contactId);}更新資料教程1、在contact.xml中增加如下內容<update id="updateById" parameterClass="Contact">        update Contact set firstName = #firstName#,lastName = #lastName#,email=#email# where contactId = #contactId#</update>2、在測試java類檔案中添加如下內容private static void testUpdate() throws IOException,SQLException{Contact contact = new Contact(2, "update", "update", "update@update.com");sqlMap.update("Contact.updateById",contact);}resultMap例子教程1、在contact.xml中增加如下內容<resultMap id="result" class="com.csii.test.Contact"><result property="contactId" column="contactId"></result><result property="firstName" column="firstName"></result><result property="lastName" column="lastName"></result><result property="email" column="email"></result></resultMap><select id="getById" resultMap="result">    select * from contact where contactId = #contactId#</select>2、在測試java類檔案中添加如下內容    Object obj = sqlMap.queryForObject("Contact.getById",new Integer(2));    System.out.println(obj.toString());

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.