Mybatis用xml文件映射的增删查改

来源:互联网 发布:js foreach 编辑:程序博客网 时间:2024/06/05 12:06

新建一个maven项目


pom.xml需要添加的标签:

[html] view plain copy
  1.  <!-- 自动加载mybatis架包 -->  
  2.    <dependency>  
  3.   <groupId>org.mybatis</groupId>  
  4.   <artifactId>mybatis</artifactId>  
  5.   <version>3.2.8</version>  
  6. </dependency>  
  7.   
  8. <!--   
  9. 加载本地ojdbc6.jar  
  10. 前面三个可以乱填,最好是配上,不然可能会报错  
  11. scope   系统  
  12. scope   路径  
  13.  -->  
  14. <dependency>  
  15.   <groupId>oracle</groupId>  
  16.   <artifactId>orcale</artifactId>  
  17.   <version>3.2.8</version>  
  18.     <scope>system</scope>  
  19.     <systemPath>C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar</systemPath>  
  20. </dependency>  


主配置文件config--mybatis.xml:

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration  
  3.   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5. <configuration>  
  6.       
  7.     <properties resource="cn/et/mybatis/lesson01/jdbc.properties">  
  8.           
  9.     </properties>  
  10.   
  11.   <!--  
  12.     配置连接数据库的环境   development开发环境 
  13.   -->  
  14.   <environments default="development">  
  15.     <environment id="development">  
  16.       <!-- 事务交给JDBC来管理   也就是通过 Connection的 commit和rollback管事事务 -->  
  17.       <transactionManager type="JDBC"/>  
  18.       <dataSource type="POOLED">  
  19.         <property name="driver" value="${driverClass}"/>  
  20.         <property name="url" value="${url}"/>  
  21.         <property name="username" value="${account}"/>  
  22.         <property name="password" value="${password}"/>  
  23.       </dataSource>  
  24.     </environment>  
  25.   </environments>  
  26.     
  27.   <mappers>  
  28.     <mapper resource="cn/et/mybatis/lesson01/emp_mapper.xml" />  
  29.   </mappers>  
  30.     
  31. </configuration>  


副配置文件mapper--emp_mapper.xml:

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE mapper  
  3.   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  5.     
  6. <!--   
  7.     namespace  包名  
  8.     可以解决类重名的问题  
  9.  -->  
  10. <mapper namespace="helloworld">  
  11.     <!--   
  12.     id标识符  用天唯一标示一条sql语句  
  13.     resultType需要指定单行数据返回的类型  
  14.     可以去org.apache.ibatis.type.TypeAliasRegistry类去找映射虚的变量名  
  15.      -->  
  16.     <select id="query" resultType="map">  
  17.     select * from emp  
  18.     </select>  
  19.       
  20.     <update id="updateEmp">  
  21.         update emp2 set sal=sal+1000 where ename='张三'  
  22.     </update>  
  23.       
  24.     <insert id="addEmp">  
  25.         insert into emp2 values(20,'李白', 8500)  
  26.     </insert>  
  27.       
  28.     <delete id="deleteEmp">  
  29.         delete from emp2 where eno=20  
  30.     </delete>  
  31.       
  32. </mapper>  


jdbc.properties:

[plain] view plain copy
  1. url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl  
  2. driverClass=oracle.jdbc.OracleDriver  
  3. account=scott  
  4. password=tiger  



java测试类:

[java] view plain copy
  1. package cn.et.mybatis.lesson01;  
  2.   
  3. import java.io.InputStream;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.session.SqlSession;  
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  9. import org.junit.Test;  
  10.   
  11. public class TestMybatis {  
  12.       
  13.     public static SqlSession getSession(){  
  14.         String resource = "mybatis.xml";  
  15.         InputStream inputStream = TestMybatis.class.getResourceAsStream(resource);  
  16.         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);  
  17.         //打开会话  
  18.         SqlSession session = sqlSessionFactory.openSession();  
  19.         return session;  
  20.     }  
  21.   
  22.     public static void main(String[] args) {//打开会话  
  23.         SqlSession session = getSession();  
  24.         List list=session.selectList("helloworld.query");  
  25. //      System.out.println(list.size());  
  26.         for (Object object : list) {  
  27.             System.out.println(object);  
  28.         }  
  29.     }  
  30.       
  31.     @Test  
  32.     public void update(){  
  33.         SqlSession session = getSession();  
  34.         session.update("updateEmp");  
  35.         //需要提交事务  
  36.         session.commit();  
  37.     }  
  38.       
  39.     @Test  
  40.     public void add(){  
  41.         SqlSession session = getSession();  
  42.         session.update("addEmp");  
  43.         //需要提交事务  
  44.         session.commit();  
  45.     }  
  46.       
  47.     @Test  
  48.     public void delete(){  
  49.         SqlSession session = getSession();  
  50.         session.update("deleteEmp");  
  51.         //需要提交事务  
  52.         session.commit();  
  53.     }  
  54. }  
原创粉丝点击