`
兩ting
  • 浏览: 78039 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

使用iBATIS3.0完成增删改查

阅读更多

使用iBATIS3.0完成增删改查

    iBATIS3.0和以前的版本有一些改变,不过学过以前版本的再学习3.0应该不是太难,3.0要求JDK1.5支持,因为其中增加了注解和泛型,这些都是JDK1.5才有的。好了废话不多说,先来利用iBATIS3做下简单的增删改查吧。

    首先到Apache(http://www.apache.org/)网站下载iBATIS3的jar 包,我下载的是ibatis-3-core-3.0.0.227.zip,解压后吧那个jar文件(ibatis-3-core-3.0.0.227.jar)添加到工程就可以了,还有一个文件(ibatis-3-core-src-3.0.0.227.zip)是源代码,可以用来查看源代码的,使用eclipse可以用它来关联源代码。

    在MyEclipse新建一个Java Project,结构如下图

    在jdbc.properties文件是映射文件要使用的,其内容如下:

 

Properties代码  收藏代码
  1. driver=com.mysql.jdbc.Driver  
  2. url=jdbc\:mysql\://localhost\:3306/test  
  3. username=root  
  4. password=123456  

 SqlMapper.xml是iBATIS的配置文件,其代码如下:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <typeAliases>  
  8.         <typeAlias type="cn.ibatis3.test.Person" alias="Person"/>  
  9.     </typeAliases>  
  10.     <environments default="development">  
  11.         <environment id="development">  
  12.             <transactionManager type="JDBC"/>  
  13.             <dataSource type="POOLED">  
  14.                 <property name="driver" value="${driver}"/>  
  15.                 <property name="url" value="${url}"/>  
  16.                 <property name="username" value="${username}"/>  
  17.                 <property name="password" value="${password}"/>  
  18.             </dataSource>  
  19.         </environment>  
  20.     </environments>  
  21.     <mappers>  
  22.         <mapper resource="cn/ibatis3/test/person.xml"/>  
  23.     </mappers>  
  24. </configuration>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <typeAliases>  
  8.         <typeAlias type="cn.ibatis3.test.Person" alias="Person"/>  
  9.     </typeAliases>  
  10.     <environments default="development">  
  11.         <environment id="development">  
  12.             <transactionManager type="JDBC"/>  
  13.             <dataSource type="POOLED">  
  14.                 <property name="driver" value="${driver}"/>  
  15.                 <property name="url" value="${url}"/>  
  16.                 <property name="username" value="${username}"/>  
  17.                 <property name="password" value="${password}"/>  
  18.             </dataSource>  
  19.         </environment>  
  20.     </environments>  
  21.     <mappers>  
  22.         <mapper resource="cn/ibatis3/test/person.xml"/>  
  23.     </mappers>  
  24. </configuration>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <typeAliases>  
  8.         <typeAlias type="cn.ibatis3.test.Person" alias="Person"/>  
  9.     </typeAliases>  
  10.     <environments default="development">  
  11.         <environment id="development">  
  12.             <transactionManager type="JDBC"/>  
  13.             <dataSource type="POOLED">  
  14.                 <property name="driver" value="${driver}"/>  
  15.                 <property name="url" value="${url}"/>  
  16.                 <property name="username" value="${username}"/>  
  17.                 <property name="password" value="${password}"/>  
  18.             </dataSource>  
  19.         </environment>  
  20.     </environments>  
  21.     <mappers>  
  22.         <mapper resource="cn/ibatis3/test/person.xml"/>  
  23.     </mappers>  
  24. </configuration>  

 上面文件中的sql映射文件person.xml代码如下:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <!--  -->  
  6.   
  7. <mapper namespace="cn.ibatis3.test.PersonMapper">  
  8.   
  9.     <select id="selectPerson" parameterType="java.lang.Integer"  
  10.         resultType="Person">  
  11.         select * from person where id = #{id}  
  12.     </select>  
  13.     <select id="selectAll" resultType="Person">  
  14.         select * from person  
  15.     </select>  
  16.     <select id="selectPersonsByName" resultType="Person" parameterType="String">  
  17.         select * from person where name like #{name}  
  18.     </select>  
  19.     <insert id="insertPerson" parameterType="Person">  
  20.         insert into person(name,birthday,sex)  
  21.         values(#{name},#{birthday},#{sex})  
  22.     </insert>  
  23.     <delete id="deletePerson" parameterType="Person">  
  24.         delete from person where id=#{id}  
  25.     </delete>  
  26.     <update id="updatePerson" parameterType="Person">  
  27.         update person set name=#{name},birthday=#{birthday},sex=#{sex}  
  28.         where id=#{id}  
  29.     </update>  
  30. </mapper>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <!--  -->  
  6.   
  7. <mapper namespace="cn.ibatis3.test.PersonMapper">  
  8.   
  9.     <select id="selectPerson" parameterType="java.lang.Integer"  
  10.         resultType="Person">  
  11.         select * from person where id = #{id}  
  12.     </select>  
  13.     <select id="selectAll" resultType="Person">  
  14.         select * from person  
  15.     </select>  
  16.     <select id="selectPersonsByName" resultType="Person" parameterType="String">  
  17.         select * from person where name like #{name}  
  18.     </select>  
  19.     <insert id="insertPerson" parameterType="Person">  
  20.         insert into person(name,birthday,sex)  
  21.         values(#{name},#{birthday},#{sex})  
  22.     </insert>  
  23.     <delete id="deletePerson" parameterType="Person">  
  24.         delete from person where id=#{id}  
  25.     </delete>  
  26.     <update id="updatePerson" parameterType="Person">  
  27.         update person set name=#{name},birthday=#{birthday},sex=#{sex}  
  28.         where id=#{id}  
  29.     </update>  
  30. </mapper>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <!--  -->  
  6.   
  7. <mapper namespace="cn.ibatis3.test.PersonMapper">  
  8.   
  9.     <select id="selectPerson" parameterType="java.lang.Integer"  
  10.         resultType="Person">  
  11.         select * from person where id = #{id}  
  12.     </select>  
  13.     <select id="selectAll" resultType="Person">  
  14.         select * from person  
  15.     </select>  
  16.     <select id="selectPersonsByName" resultType="Person" parameterType="String">  
  17.         select * from person where name like #{name}  
  18.     </select>  
  19.     <insert id="insertPerson" parameterType="Person">  
  20.         insert into person(name,birthday,sex)  
  21.         values(#{name},#{birthday},#{sex})  
  22.     </insert>  
  23.     <delete id="deletePerson" parameterType="Person">  
  24.         delete from person where id=#{id}  
  25.     </delete>  
  26.     <update id="updatePerson" parameterType="Person">  
  27.         update person set name=#{name},birthday=#{birthday},sex=#{sex}  
  28.         where id=#{id}  
  29.     </update>  
  30. </mapper>  

     注意:在iBATIS3中,属性parameterMap是不推荐使用的,在以后的版本可能会去掉这个属性。

     Person.java的代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.Date;  
  4.   
  5. public class Person {  
  6.     private int id = 0;  
  7.     private String name = "";  
  8.     private String sex = "male";  
  9.     private Date birthday = null;  
  10.   
  11.     public Person() {  
  12.   
  13.     }  
  14.   
  15.     //省略getter 和 setter 方法  
  16.       
  17.     @Override  
  18.     public String toString() {  
  19.         return "id=" + id + "\t" + "name=" + name + "\t" + "sex=" + sex + "\t"  
  20.                 + "birthday=" + new java.sql.Date(birthday.getTime()).toString();  
  21.     }  
  22.   
  23. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.Date;  
  4.   
  5. public class Person {  
  6.     private int id = 0;  
  7.     private String name = "";  
  8.     private String sex = "male";  
  9.     private Date birthday = null;  
  10.   
  11.     public Person() {  
  12.   
  13.     }  
  14.   
  15.     //省略getter 和 setter 方法   
  16.       
  17.     @Override  
  18.     public String toString() {  
  19.         return "id=" + id + "\t" + "name=" + name + "\t" + "sex=" + sex + "\t"  
  20.                 + "birthday=" + new java.sql.Date(birthday.getTime()).toString();  
  21.     }  
  22.   
  23. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.Date;  
  4.   
  5. public class Person {  
  6.     private int id = 0;  
  7.     private String name = "";  
  8.     private String sex = "male";  
  9.     private Date birthday = null;  
  10.   
  11.     public Person() {  
  12.   
  13.     }  
  14.   
  15.     //省略getter 和 setter 方法  
  16.       
  17.     @Override  
  18.     public String toString() {  
  19.         return "id=" + id + "\t" + "name=" + name + "\t" + "sex=" + sex + "\t"  
  20.                 + "birthday=" + new java.sql.Date(birthday.getTime()).toString();  
  21.     }  
  22.   
  23. }  

    iBATIS官方推荐我们使用单例模式创建一个sessionFactory,我这里也提供一个sessionFactory.java,呵呵,仅供参考:

Java代码  收藏代码
  1. package cn.ibatis3.test;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.Reader;  
  5.   
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  9.   
  10. public final class SessionFactory {  
  11.     private String resource="cn/ibatis3/test/SqlMapper.xml";  
  12.     private SqlSessionFactory sqlSessionFactory=null;  
  13.     private static SessionFactory sessionFactory=new SessionFactory();  
  14.       
  15.     private SessionFactory() {  
  16.         try {  
  17.             Reader reader=Resources.getResourceAsReader(resource);  
  18.             sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);  
  19.         } catch (IOException e) {  
  20.             System.out.println("#IOException happened in initialising the SessionFactory:"+e.getMessage());  
  21.             throw new ExceptionInInitializerError(e);  
  22.         }  
  23.     }  
  24.     public static SessionFactory getInstance() {  
  25.         return sessionFactory;  
  26.     }  
  27.     public SqlSessionFactory getSqlSessionFactory() {  
  28.         return sqlSessionFactory;  
  29.     }  
  30.   
  31. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.Reader;  
  5.   
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  9.   
  10. public final class SessionFactory {  
  11.     private String resource="cn/ibatis3/test/SqlMapper.xml";  
  12.     private SqlSessionFactory sqlSessionFactory=null;  
  13.     private static SessionFactory sessionFactory=new SessionFactory();  
  14.       
  15.     private SessionFactory() {  
  16.         try {  
  17.             Reader reader=Resources.getResourceAsReader(resource);  
  18.             sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);  
  19.         } catch (IOException e) {  
  20.             System.out.println("#IOException happened in initialising the SessionFactory:"+e.getMessage());  
  21.             throw new ExceptionInInitializerError(e);  
  22.         }  
  23.     }  
  24.     public static SessionFactory getInstance() {  
  25.         return sessionFactory;  
  26.     }  
  27.     public SqlSessionFactory getSqlSessionFactory() {  
  28.         return sqlSessionFactory;  
  29.     }  
  30.   
  31. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.Reader;  
  5.   
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  9.   
  10. public final class SessionFactory {  
  11.     private String resource="cn/ibatis3/test/SqlMapper.xml";  
  12.     private SqlSessionFactory sqlSessionFactory=null;  
  13.     private static SessionFactory sessionFactory=new SessionFactory();  
  14.       
  15.     private SessionFactory() {  
  16.         try {  
  17.             Reader reader=Resources.getResourceAsReader(resource);  
  18.             sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);  
  19.         } catch (IOException e) {  
  20.             System.out.println("#IOException happened in initialising the SessionFactory:"+e.getMessage());  
  21.             throw new ExceptionInInitializerError(e);  
  22.         }  
  23.     }  
  24.     public static SessionFactory getInstance() {  
  25.         return sessionFactory;  
  26.     }  
  27.     public SqlSessionFactory getSqlSessionFactory() {  
  28.         return sqlSessionFactory;  
  29.     }  
  30.   
  31. }  

 

    基于接口的编程(还有就是iBATIS3的注解也是在接口方法上的,关于注解以后有机会再讲,它也是iBATIS3的一个新特性),DAO层的接口PersonMapper.java代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.List;  
  4.   
  5. public interface PersonMapper {  
  6.     Person selectById(Integer id);  
  7.     List<Person> selectAll();  
  8.     List<Person> selectPersonsByName(String name);  
  9.     void insert(Person person);  
  10.     void delete(Person person);  
  11.     void update(Person person);  
  12.       
  13. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.List;  
  4.   
  5. public interface PersonMapper {  
  6.     Person selectById(Integer id);  
  7.     List<Person> selectAll();  
  8.     List<Person> selectPersonsByName(String name);  
  9.     void insert(Person person);  
  10.     void delete(Person person);  
  11.     void update(Person person);  
  12.       
  13. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.List;  
  4.   
  5. public interface PersonMapper {  
  6.     Person selectById(Integer id);  
  7.     List<Person> selectAll();  
  8.     List<Person> selectPersonsByName(String name);  
  9.     void insert(Person person);  
  10.     void delete(Person person);  
  11.     void update(Person person);  
  12.       
  13. }  

 接口的实现类PersonDao.java代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.session.SqlSession;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8.   
  9. public class PersonDao implements PersonMapper {  
  10.     private SqlSessionFactory sessionFactory = SessionFactory.getInstance()  
  11.             .getSqlSessionFactory();  
  12.   
  13.     public Person selectById(Integer id) {  
  14.         Person person = new Person();  
  15.         SqlSession session = null;  
  16.         try {  
  17.             session = sessionFactory.openSession();  
  18.             person = (Person) session.selectOne(  
  19.                     "cn.ibatis3.test.PersonMapper.selectPerson", id);  
  20.         } finally {  
  21.             session.close();  
  22.         }  
  23.         return person;  
  24.     }  
  25.   
  26.     @SuppressWarnings("unchecked")  
  27.     public List<Person> selectAll() {  
  28.         List<Person> persons = new ArrayList<Person>();  
  29.         SqlSession session = null;  
  30.         try {  
  31.             session = sessionFactory.openSession();  
  32.             persons = session  
  33.                     .selectList("cn.ibatis3.test.PersonMapper.selectAll");  
  34.         } finally {  
  35.             session.close();  
  36.         }  
  37.   
  38.         return persons;  
  39.     }  
  40.   
  41.     public void delete(Person person) {  
  42.         SqlSession session = null;  
  43.         try {  
  44.             session = sessionFactory.openSession();  
  45.             session.delete("cn.ibatis3.test.PersonMapper.deletePerson", person);  
  46.             session.commit();  
  47.         } finally {  
  48.             session.close();  
  49.         }  
  50.   
  51.     }  
  52.   
  53.     public void insert(Person person) {  
  54.         SqlSession session = null;  
  55.         try {  
  56.             session = sessionFactory.openSession();  
  57.             session.insert("cn.ibatis3.test.PersonMapper.insertPerson", person);  
  58.             session.commit();  
  59.         } finally {  
  60.             session.close();  
  61.         }  
  62.   
  63.     }  
  64.   
  65.     public void update(Person person) {  
  66.         SqlSession session = null;  
  67.         try {  
  68.             session = sessionFactory.openSession();  
  69.             session.insert("cn.ibatis3.test.PersonMapper.updatePerson", person);  
  70.             session.commit();  
  71.         } finally {  
  72.             session.close();  
  73.         }  
  74.   
  75.     }  
  76.   
  77.     @SuppressWarnings("unchecked")  
  78.     public List<Person> selectPersonsByName(String name) {  
  79.         List<Person> persons = new ArrayList<Person>();  
  80.         SqlSession session = null;  
  81.         try {  
  82.             session = sessionFactory.openSession();  
  83.             System.out.println(name);  
  84.             persons = session.selectList(  
  85.                     "cn.ibatis3.test.PersonMapper.selectPersonsByName""%"  
  86.                             + name + "%");  
  87.             session.commit();  
  88.         } finally {  
  89.             session.close();  
  90.         }  
  91.   
  92.         return persons;  
  93.     }  
  94.   
  95. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.session.SqlSession;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8.   
  9. public class PersonDao implements PersonMapper {  
  10.     private SqlSessionFactory sessionFactory = SessionFactory.getInstance()  
  11.             .getSqlSessionFactory();  
  12.   
  13.     public Person selectById(Integer id) {  
  14.         Person person = new Person();  
  15.         SqlSession session = null;  
  16.         try {  
  17.             session = sessionFactory.openSession();  
  18.             person = (Person) session.selectOne(  
  19.                     "cn.ibatis3.test.PersonMapper.selectPerson", id);  
  20.         } finally {  
  21.             session.close();  
  22.         }  
  23.         return person;  
  24.     }  
  25.   
  26.     @SuppressWarnings("unchecked")  
  27.     public List<Person> selectAll() {  
  28.         List<Person> persons = new ArrayList<Person>();  
  29.         SqlSession session = null;  
  30.         try {  
  31.             session = sessionFactory.openSession();  
  32.             persons = session  
  33.                     .selectList("cn.ibatis3.test.PersonMapper.selectAll");  
  34.         } finally {  
  35.             session.close();  
  36.         }  
  37.   
  38.         return persons;  
  39.     }  
  40.   
  41.     public void delete(Person person) {  
  42.         SqlSession session = null;  
  43.         try {  
  44.             session = sessionFactory.openSession();  
  45.             session.delete("cn.ibatis3.test.PersonMapper.deletePerson", person);  
  46.             session.commit();  
  47.         } finally {  
  48.             session.close();  
  49.         }  
  50.   
  51.     }  
  52.   
  53.     public void insert(Person person) {  
  54.         SqlSession session = null;  
  55.         try {  
  56.             session = sessionFactory.openSession();  
  57.             session.insert("cn.ibatis3.test.PersonMapper.insertPerson", person);  
  58.             session.commit();  
  59.         } finally {  
  60.             session.close();  
  61.         }  
  62.   
  63.     }  
  64.   
  65.     public void update(Person person) {  
  66.         SqlSession session = null;  
  67.         try {  
  68.             session = sessionFactory.openSession();  
  69.             session.insert("cn.ibatis3.test.PersonMapper.updatePerson", person);  
  70.             session.commit();  
  71.         } finally {  
  72.             session.close();  
  73.         }  
  74.   
  75.     }  
  76.   
  77.     @SuppressWarnings("unchecked")  
  78.     public List<Person> selectPersonsByName(String name) {  
  79.         List<Person> persons = new ArrayList<Person>();  
  80.         SqlSession session = null;  
  81.         try {  
  82.             session = sessionFactory.openSession();  
  83.             System.out.println(name);  
  84.             persons = session.selectList(  
  85.                     "cn.ibatis3.test.PersonMapper.selectPersonsByName""%"  
  86.                             + name + "%");  
  87.             session.commit();  
  88.         } finally {  
  89.             session.close();  
  90.         }  
  91.   
  92.         return persons;  
  93.     }  
  94.   
  95. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.session.SqlSession;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8.   
  9. public class PersonDao implements PersonMapper {  
  10.     private SqlSessionFactory sessionFactory = SessionFactory.getInstance()  
  11.             .getSqlSessionFactory();  
  12.   
  13.     public Person selectById(Integer id) {  
  14.         Person person = new Person();  
  15.         SqlSession session = null;  
  16.         try {  
  17.             session = sessionFactory.openSession();  
  18.             person = (Person) session.selectOne(  
  19.                     "cn.ibatis3.test.PersonMapper.selectPerson", id);  
  20.         } finally {  
  21.             session.close();  
  22.         }  
  23.         return person;  
  24.     }  
  25.   
  26.     @SuppressWarnings("unchecked")  
  27.     public List<Person> selectAll() {  
  28.         List<Person> persons = new ArrayList<Person>();  
  29.         SqlSession session = null;  
  30.         try {  
  31.             session = sessionFactory.openSession();  
  32.             persons = session  
  33.                     .selectList("cn.ibatis3.test.PersonMapper.selectAll");  
  34.         } finally {  
  35.             session.close();  
  36.         }  
  37.   
  38.         return persons;  
  39.     }  
  40.   
  41.     public void delete(Person person) {  
  42.         SqlSession session = null;  
  43.         try {  
  44.             session = sessionFactory.openSession();  
  45.             session.delete("cn.ibatis3.test.PersonMapper.deletePerson", person);  
  46.             session.commit();  
  47.         } finally {  
  48.             session.close();  
  49.         }  
  50.   
  51.     }  
  52.   
  53.     public void insert(Person person) {  
  54.         SqlSession session = null;  
  55.         try {  
  56.             session = sessionFactory.openSession();  
  57.             session.insert("cn.ibatis3.test.PersonMapper.insertPerson", person);  
  58.             session.commit();  
  59.         } finally {  
  60.             session.close();  
  61.         }  
  62.   
  63.     }  
  64.   
  65.     public void update(Person person) {  
  66.         SqlSession session = null;  
  67.         try {  
  68.             session = sessionFactory.openSession();  
  69.             session.insert("cn.ibatis3.test.PersonMapper.updatePerson", person);  
  70.             session.commit();  
  71.         } finally {  
  72.             session.close();  
  73.         }  
  74.   
  75.     }  
  76.   
  77.     @SuppressWarnings("unchecked")  
  78.     public List<Person> selectPersonsByName(String name) {  
  79.         List<Person> persons = new ArrayList<Person>();  
  80.         SqlSession session = null;  
  81.         try {  
  82.             session = sessionFactory.openSession();  
  83.             System.out.println(name);  
  84.             persons = session.selectList(  
  85.                     "cn.ibatis3.test.PersonMapper.selectPersonsByName""%"  
  86.                             + name + "%");  
  87.             session.commit();  
  88.         } finally {  
  89.             session.close();  
  90.         }  
  91.   
  92.         return persons;  
  93.     }  
  94.   
  95. }  

 最后是表的创建:

Sql代码  收藏代码
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
[sql] view plaincopy
 
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
[sql] view plaincopy
 
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 

 使用iBATIS3.0注解完成对数据库的简单操作

    iBATIS3.0也增加了一些简单的注解,iBATIS3的注解只能完成一些简单操作,要进行更复杂的操作,最好是在XML文件中配置。

    在数据库(本人使用的mysql)中建立一个person表:

Sql代码  收藏代码
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
[sql] view plaincopy
 
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
[sql] view plaincopy
 
  1. DROP TABLE IF EXISTS `test`.`person`;  
  2. CREATE TABLE  `test`.`person` (  
  3.   `id` int(10) unsigned NOT NULL auto_increment,  
  4.   `namevarchar(20) default NULL,  
  5.   `sex` varchar(8) default NULL,  
  6.   `birthday` datetime default NULL,  
  7.   PRIMARY KEY  (`id`)  
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 

    在MyEclipse新建一个Java Project,结构如下图



 

    在jdbc.properties文件是映射文件要使用的,其内容如下:

 

Properties代码  收藏代码
  1. driver=com.mysql.jdbc.Driver  
  2. url=jdbc\:mysql\://localhost\:3306/test  
  3. username=root  
  4. password=123456  

 SqlMapper.xml是iBATIS的配置文件,其代码如下:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <environments default="development">  
  8.         <environment id="development">  
  9.             <transactionManager type="JDBC"/>  
  10.             <dataSource type="POOLED">  
  11.                 <property name="driver" value="${driver}"/>  
  12.                 <property name="url" value="${url}"/>  
  13.                 <property name="username" value="${username}"/>  
  14.                 <property name="password" value="${password}"/>  
  15.             </dataSource>  
  16.         </environment>  
  17.     </environments>  
  18.     <mappers>  
  19.         <mapper resource="cn/ibatis3/test/annotation/person.xml"/>  
  20.     </mappers>  
  21. </configuration>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <environments default="development">  
  8.         <environment id="development">  
  9.             <transactionManager type="JDBC"/>  
  10.             <dataSource type="POOLED">  
  11.                 <property name="driver" value="${driver}"/>  
  12.                 <property name="url" value="${url}"/>  
  13.                 <property name="username" value="${username}"/>  
  14.                 <property name="password" value="${password}"/>  
  15.             </dataSource>  
  16.         </environment>  
  17.     </environments>  
  18.     <mappers>  
  19.         <mapper resource="cn/ibatis3/test/annotation/person.xml"/>  
  20.     </mappers>  
  21. </configuration>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3. PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">  
  5. <configuration>  
  6.     <properties resource="jdbc.properties"/>  
  7.     <environments default="development">  
  8.         <environment id="development">  
  9.             <transactionManager type="JDBC"/>  
  10.             <dataSource type="POOLED">  
  11.                 <property name="driver" value="${driver}"/>  
  12.                 <property name="url" value="${url}"/>  
  13.                 <property name="username" value="${username}"/>  
  14.                 <property name="password" value="${password}"/>  
  15.             </dataSource>  
  16.         </environment>  
  17.     </environments>  
  18.     <mappers>  
  19.         <mapper resource="cn/ibatis3/test/annotation/person.xml"/>  
  20.     </mappers>  
  21. </configuration>  

 上面文件中的sql映射文件person.xml代码如下:

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <mapper namespace="cn.ibatis3.test.annotation.PersonMapper">  
  6.   
  7. </mapper>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <mapper namespace="cn.ibatis3.test.annotation.PersonMapper">  
  6.   
  7. </mapper>  
[xml] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"  
  4. "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
  5. <mapper namespace="cn.ibatis3.test.annotation.PersonMapper">  
  6.   
  7. </mapper>  

     注意:在iBATIS3中,命名空间(namespace)是必须的,如果不使用注解的话,名字可以自己定义。一旦使用了注解,这里必须是那个使用注解类或接口的全名。

     Person.java的代码请参考我的《iBATIS3学习(一)》

    sessionFactory.java和我前面的《iBATIS3学习(一)》一样,只是注意将:

Java代码  收藏代码
  1. private String resource="cn/ibatis3/test/SqlMapper.xml";  
[java] view plaincopy
 
  1. private String resource="cn/ibatis3/test/SqlMapper.xml";  
[java] view plaincopy
 
  1. private String resource="cn/ibatis3/test/SqlMapper.xml";  
Java代码  收藏代码
  1. 改为private String resource="cn/ibatis3/test/annotation/SqlMapper.xml";  
[java] view plaincopy
 
  1. 改为private String resource="cn/ibatis3/test/annotation/SqlMapper.xml";  
[java] view plaincopy
 
  1. 改为private String resource="cn/ibatis3/test/annotation/SqlMapper.xml";  

 

    iBATIS3的注解可以定义在接口方法上的,也可以定义在类方法上,我这里定义在接口上,接口PersonMapper.java代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.apache.ibatis.annotations.CacheNamespace;  
  6. import org.apache.ibatis.annotations.Delete;  
  7. import org.apache.ibatis.annotations.Insert;  
  8. import org.apache.ibatis.annotations.Options;  
  9. import org.apache.ibatis.annotations.Select;  
  10. import org.apache.ibatis.annotations.SelectProvider;  
  11. import org.apache.ibatis.annotations.Update;  
  12.   
  13. @CacheNamespace(readWrite = true)  
  14. public interface PersonMapper {  
  15.     @Select("select * from person where id = #{id}")  
  16.     @Options(useCache = true, flushCache = false)  
  17.     Person selectById(Integer id);  
  18.   
  19.     @SelectProvider(type=SqlProvider.class ,method="selectAllSql")  
  20.     List<Person> selectAll();  
  21.   
  22.     @Select("select * from person where name like #{name}")  
  23.     List<Person> selectPersonsByName(String name);  
  24.   
  25.     @Insert( { "insert into person(name,birthday,sex)",  
  26.             "values(#{name},#{birthday},#{sex})" })  
  27.     void insert(Person person);  
  28.   
  29.     @Delete("delete from person where id=#{id}")  
  30.     void delete(Person person);  
  31.   
  32.     @Update( {"update person set name=#{name},birthday=#{birthday},sex=#{sex}",  
  33.             "where id=#{id}" })  
  34.     void update(Person person);  
  35.   
  36. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.apache.ibatis.annotations.CacheNamespace;  
  6. import org.apache.ibatis.annotations.Delete;  
  7. import org.apache.ibatis.annotations.Insert;  
  8. import org.apache.ibatis.annotations.Options;  
  9. import org.apache.ibatis.annotations.Select;  
  10. import org.apache.ibatis.annotations.SelectProvider;  
  11. import org.apache.ibatis.annotations.Update;  
  12.   
  13. @CacheNamespace(readWrite = true)  
  14. public interface PersonMapper {  
  15.     @Select("select * from person where id = #{id}")  
  16.     @Options(useCache = true, flushCache = false)  
  17.     Person selectById(Integer id);  
  18.   
  19.     @SelectProvider(type=SqlProvider.class ,method="selectAllSql")  
  20.     List<Person> selectAll();  
  21.   
  22.     @Select("select * from person where name like #{name}")  
  23.     List<Person> selectPersonsByName(String name);  
  24.   
  25.     @Insert( { "insert into person(name,birthday,sex)",  
  26.             "values(#{name},#{birthday},#{sex})" })  
  27.     void insert(Person person);  
  28.   
  29.     @Delete("delete from person where id=#{id}")  
  30.     void delete(Person person);  
  31.   
  32.     @Update( {"update person set name=#{name},birthday=#{birthday},sex=#{sex}",  
  33.             "where id=#{id}" })  
  34.     void update(Person person);  
  35.   
  36. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.apache.ibatis.annotations.CacheNamespace;  
  6. import org.apache.ibatis.annotations.Delete;  
  7. import org.apache.ibatis.annotations.Insert;  
  8. import org.apache.ibatis.annotations.Options;  
  9. import org.apache.ibatis.annotations.Select;  
  10. import org.apache.ibatis.annotations.SelectProvider;  
  11. import org.apache.ibatis.annotations.Update;  
  12.   
  13. @CacheNamespace(readWrite = true)  
  14. public interface PersonMapper {  
  15.     @Select("select * from person where id = #{id}")  
  16.     @Options(useCache = true, flushCache = false)  
  17.     Person selectById(Integer id);  
  18.   
  19.     @SelectProvider(type=SqlProvider.class ,method="selectAllSql")  
  20.     List<Person> selectAll();  
  21.   
  22.     @Select("select * from person where name like #{name}")  
  23.     List<Person> selectPersonsByName(String name);  
  24.   
  25.     @Insert( { "insert into person(name,birthday,sex)",  
  26.             "values(#{name},#{birthday},#{sex})" })  
  27.     void insert(Person person);  
  28.   
  29.     @Delete("delete from person where id=#{id}")  
  30.     void delete(Person person);  
  31.   
  32.     @Update( {"update person set name=#{name},birthday=#{birthday},sex=#{sex}",  
  33.             "where id=#{id}" })  
  34.     void update(Person person);  
  35.   
  36. }  

 上面的注解SelectProvider使用了一个类SqlProvider.java,其代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. public class SqlProvider {  
  4.     // 动态的SQL语句,实际上应该使用iBATIS的动态SQL产生方法,这里仅仅是为了使用注解  
  5.     public String selectAllSql() {  
  6.         return "SELECT * FROM person p";  
  7.     }  
  8. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. public class SqlProvider {  
  4.     // 动态的SQL语句,实际上应该使用iBATIS的动态SQL产生方法,这里仅仅是为了使用注解   
  5.     public String selectAllSql() {  
  6.         return "SELECT * FROM person p";  
  7.     }  
  8. }  
[java] view plaincopy
 
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. public class SqlProvider {  
  4.     // 动态的SQL语句,实际上应该使用iBATIS的动态SQL产生方法,这里仅仅是为了使用注解  
  5.     public String selectAllSql() {  
  6.         return "SELECT * FROM person p";  
  7.     }  
  8. }  

 

 接口的实现类PersonDao.java代码如下:

Java代码  收藏代码
  1. package cn.ibatis3.test.annotation;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.session.SqlSession;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8.   
  9. public class PersonDao implements PersonMapper {  
  10.     private SqlSessionFactory sessionFactory = SessionFactory.getInstance()  
  11.             .getSqlSessionFactory();  
  12.   
  13.     public Person selectById(Integer id) {  
  14.         Person person = new Person();  
  15.         SqlSession session = null;  
  16.         try {  
  17.             session = sessionFactory.openSession();  
  18.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  19.             person = personMapper.selectById(id);  
  20.         } finally {  
  21.             session.close();  
  22.         }  
  23.         return person;  
  24.     }  
  25.   
  26.     @SuppressWarnings("unchecked")  
  27.     public List<Person> selectAll() {  
  28.         List<Person> persons = new ArrayList<Person>();  
  29.         SqlSession session = null;  
  30.         try {  
  31.             session = sessionFactory.openSession();  
  32.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  33.             persons = personMapper.selectAll();  
  34.         } finally {  
  35.             session.close();  
  36.         }  
  37.   
  38.         return persons;  
  39.     }  
  40.   
  41.     public void delete(Person person) {  
  42.         SqlSession session = null;  
  43.         try {  
  44.             session = sessionFactory.openSession();  
  45.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  46.             personMapper.delete(person);  
  47.             session.commit();  
  48.         } finally {  
  49.             session.close();  
  50.         }  
  51.   
  52.     }  
  53.   
  54.     public void insert(Person person) {  
  55.         SqlSession session = null;  
  56.         try {  
  57.             session = sessionFactory.openSession();  
  58.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  59.             personMapper.insert(person);  
  60.             session.commit();  
  61.         } finally {  
  62.             session.close();  
  63.         }  
  64.   
  65.     }  
  66.   
  67.     public void update(Person person) {  
  68.         SqlSession session = null;  
  69.         try {  
  70.             session = sessionFactory.openSession();  
  71.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  72.             personMapper.update(person);  
  73.             session.commit();  
  74.         } finally {  
  75.             session.close();  
  76.         }  
  77.   
  78.     }  
  79.   
  80.     @SuppressWarnings("unchecked")  
  81.     public List<Person> selectPersonsByName(String name) {  
  82.         List<Person> persons = new ArrayList<Person>();  
  83.         SqlSession session = null;  
  84.         try {  
  85.             session = sessionFactory.openSession();  
  86.             PersonMapper personMapper = session.getMapper(PersonMapper.class);  
  87.             persons=personMapper.selectPersonsByName("%" + name + "%");  
  88.         } finally {  
  89.             session.close();  
  90.         }  
  91.   
  92.         return persons;  
  93.     }  
  94.   
  95. }  
分享到:
评论

相关推荐

    Ibatis3.0 增删改查(三)

    在本教程中,我们将深入探讨Ibatis 3.0框架中的增、删、改、查操作,这是关于Ibatis 3.0系列教程的第三部分。...通过学习这一部分,你应能熟练掌握在Ibatis中进行数据的增删改查操作,并理解其背后的原理和用法。

    Ibatis3.0 增删改查(二)

    在本教程中,我们将深入...在“增删改查(二)”这个主题中,我们将继续学习如何利用Ibatis高效地完成日常的数据库任务。通过实践和理解这些基本操作,你可以更好地掌握Ibatis,并将其应用于实际项目中,提升开发效率。

    Ibatis和Spring整合例子,实现增删改查功能

    Ibatis和Spring整合例子,实现增删改查功能.

    ibatis3.0+jsp(demo)

    在"ibatis3.0+jsp(demo)"项目中,JSP页面可能用于显示从数据库查询到的数据,或者接收用户输入,与后台JavaBean进行交互,实现数据的增删改查功能。 【数据库脚本】 项目中包含了创建数据库和表的脚本,这些脚本...

    Ibatis 增删改查(一)

    本篇文章将聚焦于Ibatis 3.0版本,探讨其在增删改查(CRUD)操作中的基本使用方法。Ibatis通过XML配置文件或注解方式,将SQL语句与Java代码分离,实现了数据访问的灵活和高效。 首先,我们需要了解Ibatis的基本架构...

    Ibatis的简单例子(增删改查,联合查询等)

    在这个"Ibatis的简单例子"中,我们将探讨如何使用Ibatis进行数据库的增删改查(CRUD)操作以及联合查询。 1. **安装与配置**: 在开始之前,你需要在项目中添加Ibatis的依赖,通常是通过Maven或Gradle。在Maven的`...

    SSI框架练习增删改查

    一旦设置完成,可以直接运行项目,体验完整的增删改查功能。 通过这个练习,初学者可以深入理解SSI框架的集成使用,学习如何在实际项目中实现数据操作,以及如何组织和管理大型Java Web应用的组件。同时,这也是对...

    SSI框架整合(Oracle数据库增删改查示例)

    SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 项目访问路径 localhost:8888/SSI_Demo1 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,适合初学者...

    iBatis的增、删、查实例(可运行)

    本实例是关于iBatis的增、删、查操作,适合初学者进行学习和实践。 在开始之前,确保你已经配置了Java开发环境和MySQL数据库。iBatis需要与数据库驱动兼容,因此你需要在项目中添加相应的JDBC驱动。例如,如果你...

    SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3)

    SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence ...项目访问路径 localhost:8080/SSI_Demo1 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,适合初学者...

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    第07课 mybatis 增删改查 第08课 mybatis 动态sql 第09课 bootstrap的搭建+栅格系统+table 第10课 bootstrap 表单 (二)会议管理系统之设计部分 第11课 原型设计_设备管理 第12课 原型设计_会议室管理+预约会议室 ...

    Ibatis3手册 Ibatis3参考手册

    每个 `SqlSession` 都是在事务的基础上工作的,可以进行增删改查等操作。一个 `SqlSession` 应该在一个服务调用中只被使用一次,即遵循开闭原则。 #### 3. **Mapper** Mapper 是 Ibatis3 中定义SQL映射的核心组件...

    ibatis3 jar

    4. SQLSession:执行SQL操作的核心接口,用于执行增删改查操作并管理事务。 5. SqlSessionFactory:创建SqlSession实例的工厂,它维护了数据库连接状态和配置信息。 描述中的"spring hibernate ibatis 3"提到了其他...

    代码自动生成器

    然而,当下比较流行的,绝大多数MySQL、iBatis开源代码生成器,只能生成动态SQL语句和几个简单粗糙的增删改查方法。 对于追求高质量代码的项目而言,都希望拥有高端的标准SQL语句,而不是相对低端的动态SQL语句。...

    传智播客_Springmvc+Mybatis由浅入深笔记与资料

    3. **SqlSession**:执行SQL语句的主要接口,提供了一系列的方法可以执行增删改查等操作。 4. **Mapper接口**:定义了操作数据库的方法。 5. **Mapper.xml**:XML文件中定义SQL语句,包括增删改查等操作。 **...

    java程序员简历范文.pdf

    9. **具体任务**:程序员在项目中负责“学员管理”、“课件管理”、“统计”和“注册”等模块的开发,涉及到的功能包括数据增删改查、导入导出、权限管理、Flash交互、CMS新闻发布等。 10. **技术应用**:在一些...

    mybaits连接数据库(mysql)的怎删改查

    在MySQL数据库的环境中,MyBatis提供了与数据库交互的能力,实现了数据的增、删、改、查(CRUD)操作。本文将详细介绍如何在SSM(Spring、SpringMVC、MyBatis)框架下配置和使用MyBatis来连接和操作MySQL数据库。 ...

    mybatis的基础入门搭建.rar

    -- 其他增删改查操作 --&gt; ``` 最后,创建`UserMapper`接口,将XML中的方法映射到Java代码中: ```java package com.example.mapper; import com.example.entity.User; import org.apache.ibatis.annotations....

    mybatis实现对数据的增删查改实例详解

    在本文中,我们将深入探讨如何使用MyBatis这一流行的持久层框架来实现对数据库数据的增删查改(CRUD)操作。MyBatis是一个轻量级的Java框架,它允许开发者将SQL语句与Java代码直接绑定,从而简化了数据访问层的开发...

Global site tag (gtag.js) - Google Analytics