日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

iBatis的CRUD操作详细总结

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iBatis的CRUD操作详细总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天晚上看了一下關于iBatis的一個講解的視頻,講的和我的這個簡單的總結差不多....

思考了一下還是把主要操作都總結一下吧,當然這里也不是全的,知識簡單的CRUD。。。

首先我覺得持久層的操作主要就是這幾個:

?

public interface IPersonDao {//添加public boolean addPerson(Person person);//更新public boolean updatePerson(Person person);//刪除 根據ID刪除, 批量刪除public boolean deletePersonById(int id);public boolean deleteAll(List<Integer> ids);//查詢,根據ID, name模糊查詢, 查詢所有, 多條件查詢,分頁查詢public Person queryById(int id);public List<Person> queryByName(String name);public List<Person> queryAllPerson();public List<Person> queryPersons(Person person);public List<Person> queryPage(Map<String, Object> info);
}

  

然后我們就一一實現吧。

Person類:

public class Person {private int id;private String name;private int age;//省去了getter setter
}

  

Person.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="Person">
<!--  實體類路徑和名 這里得到person是大小寫不敏感的   --><typeAlias alias="person" type="com.gbx.po.Person" /><!-- SQL語句 --><insert id="addPerson" parameterClass="person" ><!-- 利用自增字段來填充主鍵    --><selectKey resultClass="int" keyProperty="id">select LAST_INSERT_ID() as id</selectKey>insert into t_person(id,  name,   age) values(#id#, #name#, #age#)</insert><update id="updatePerson" parameterClass="person">update t_person set id=#id#,name=#name#,age=#age#where id=#id#</update><delete id="deletePerson" parameterClass="int">delete from t_personwhere id=#id#</delete><delete id="deleteAllPerson" parameterClass="List">delete from t_personwhere id in (<iterate conjunction=",">#[]#</iterate>)</delete> <select id="queryPersonById" parameterClass="int" resultClass="person">select id, name, agefrom t_personwhere id=#id#</select><select id="queryPersonByName" parameterClass="String" resultClass="person">select id, name, agefrom t_personwherename like '%$name$%'</select><select id="queryAllPerson" resultClass="person" >select id, name, age from t_person</select><select id="queryPersons" resultClass="person" parameterClass="person" >select id, name, agefrom t_person<dynamic prepend="where"><isNotEqual prepend="and"  property="id" compareValue="0">id=#id#</isNotEqual><isNotNull prepend="and" property="name">name like '%$name$%'</isNotNull><isGreaterEqual prepend="and" property="age" compareValue="0">age>#age#</isGreaterEqual></dynamic></select><select id="queryPage" parameterClass="java.util.Map" resultClass="person">select id, name, age from t_person<dynamic prepend="where"><isNotEqual prepend="and"  property="id" compareValue="0">id=#id#</isNotEqual><isNotNull prepend="and"  property="name">name like '%$name$%'</isNotNull><isNotEqual prepend="and" property="age" compareValue="0">age>=#age#</isNotEqual></dynamic>limit #begin#, #pageSize#</select></sqlMap>

  

SqlMapConfig.xml

<?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>
<!-- 引入資源 --><properties resource="SqlMap.properties"/>
<!-- 配置數據庫連接信息 --><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="com/gbx/po/Person.xml"/></sqlMapConfig> 

  

PersonDaoImp?

package com.gbx.dao;import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.gbx.po.Person;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class PersonDaoImp implements IPersonDao{private static SqlMapClient client = null;static{try {Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");client = SqlMapClientBuilder.buildSqlMapClient(reader);reader.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public boolean addPerson(Person person) {System.out.println("添加前 " + person.getId());try {client.insert("addPerson", person);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("添加后: " + person.getId());return true;}public boolean updatePerson(Person person) {try {client.update("updatePerson", person);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("更新成功....");return true;}public boolean deletePersonById(int id) {try {client.delete("deletePerson", id);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("刪除成功....");return true;}public boolean deleteAll(List<Integer> ids) {try {client.delete("deleteAllPerson", ids);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("刪除成功....");return true;}public Person queryById(int id) {Person p = null;try {p  = (Person) client.queryForObject("queryPersonById", id);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return p;}@SuppressWarnings("unchecked")public List<Person> queryByName(String name) {List<Person> persons = null;try {persons = client.queryForList("queryPersonByName", name);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return persons;}@SuppressWarnings({ "unchecked", "deprecation" })public List<Person> queryAllPerson() {List<Person> persons = null;try {persons = client.queryForList("queryAllPerson");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return persons;}@SuppressWarnings("unchecked")public List<Person> queryPersons(Person person) {List<Person> persons = null;try {persons = client.queryForList("queryPersons", person);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return persons;}@SuppressWarnings("unchecked")public List<Person> queryPage(Map<String, Object> info) {List<Person> persons = null;try {persons = client.queryForList("queryPage", info);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return persons;}public static void main(String[] args) {IPersonDao dao = new PersonDaoImp();//添加
//		Person person = new Person();
//		person.setName("小明");
//		person.setAge(1);
//		dao.addPerson(person);//更新
//		Person person = new Person();
//		person.setId(18);
//		person.setName("小明123");
//		person.setAge(1);
//		dao.updatePerson(person);//刪除		
//		dao.deletePersonById(18);//批量刪除
//		List<Integer> ids = new ArrayList<Integer>();
//		ids.add(3); ids.add(4); ids.add(5);
//		dao.deleteAll(ids);
//		System.out.println(ids);//ID查詢
//		Person person = new Person();
//		person = dao.queryById(19);
//		System.out.println("查詢到的個人信息為:" + person.getId() + " " + person.getAge() + " " + person.getName());//姓名模糊查詢
//		List<Person> persons = dao.queryByName("小米");
//		for (Person p : persons) {
//			System.out.println("查詢到的個人信息為:" + p.getId() + " " + p.getAge() + " " + p.getName());
//		}//查詢所有
//		List<Person> persons = dao.queryAllPerson();
//		for (Person p : persons) {
//			System.out.println("查詢到的個人信息為:" + p.getId() + " " + p.getAge() + " " + p.getName());
//		}//多條件查詢
//		Person person = new Person();
//		person.setId(0);
//		person.setName("小");
//		person.setAge(20);
//		List<Person> persons = dao.queryPersons(person);
//		for (Person p : persons) {
//			System.out.println("查詢到的個人信息為:" + p.getId() + " " + p.getAge() + " " + p.getName());
//		}//利用Map實現模糊的分頁查詢Map<String, Object> info = new HashMap<String, Object>();info.put("begin", 0);info.put("pageSize", 100);info.put("id", 0);info.put("name", "小");info.put("age", 20);List<Person> persons = dao.queryPage(info);for (Person p : persons) {System.out.println("查詢到的個人信息為:" + p.getId() + " " + p.getAge() + " " + p.getName());}	}
}

  

?

轉載于:https://www.cnblogs.com/E-star/p/3439374.html

總結

以上是生活随笔為你收集整理的iBatis的CRUD操作详细总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。