zoukankan      html  css  js  c++  java
  • MyBatis案例&增删改查

    一、MyBatis入门案例:

      ①:引入jar包

      ②:创建实体类 Dept,并进行封装

      ③ 在Src下创建大配置mybatis-config.xml

     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 <typeAliases>
     7 <typeAlias type="cn.happy.entity.Dept" alias="Dept"/>
     8 </typeAliases>
     9 
    10 <environments default="development">
    11         <environment id="development">
    12             <transactionManager type="JDBC" />
    13             <dataSource type="POOLED">
    14                 <property name="driver" value="oracle.jdbc.OracleDriver" />
    15                 <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
    16                 <property name="username" value="wj" />
    17                 <property name="password" value="9090" />
    18             </dataSource>
    19         </environment>
    20     </environments>
    21     <!--映射文件:描述某个实体和数据库表的对应关系 -->
    22     <mappers>
    23         <mapper resource="cn/happy/entity/Dept.xml" />
    24         
    25         <mapper resource="cn/happy/entity/Mapper.xml" />
    26     </mappers> 
    28  </configuration>

    注:其中的几个常用元素作用如下:

    environments元素:用于配置多个数据环境,可映射多个数据库信息

    在MyBatis中有两种事务管理器类型(即type="JDBC/MANAGED")

    JDBC:直接使用了JDBC控制事务

    MANAGED:MyBatis自己不负责控制事务,它会让容器来管理事务的整个生命周期

    数据源类型有三种:UNPOOLED、POOLED、JNDI

      ①UNPOOLED:这个数据源的实现是每次被请求时简单打开和关闭连接。

      ②POOLED:采用连接池以避免创建新的连接实例时必要的初始连接和认证时间

      ③JNDI:为了使用如Spring或应用服务器这类的容器

      mappers元素:包含所有mapper的列表。告诉MyBatis到哪里去找SQL语句。主要是定义Sql映射文件

      ④:创建小配置 Dept.xml

     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 <mapper namespace="cn.happy.entity.Dept">
     7 
     8 <!-- 查询 -->
     9 <select id="selectDept" resultType="Dept">
    10 select * from Dept
    11 </select>

    注:id:唯一标识:通过此id,程序可唯一锁定一条SQL 、parameterType:参数类型、resultType:结果类型

     ⑤测试类:进行查询所有部门

     1 public class Test1 {
     2     SqlSession session ;
     3     @Before
     4     public void initData() throws Exception{
     5         SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
     6         
     7         Reader reader=new FileReader("src/mybatis-config.xml");
     8         
     9         SqlSessionFactory factory=builder.build(reader);
    10         
    11         session = factory.openSession();
    12     }
    13     /*
    14      * 查询
    15      */
    16     @Test
    17     public void selectDeptTest() throws Exception{
    18         
    19         
    20         List<Dept> selectList = session.selectList("selectDept");
    21         
    22         for (Dept dept : selectList) {
    23             System.out.println(dept.getDeptName());
    24         }
    25     }
    26     

    二、同理 增、删、改

    如图所示:

     因为在大配置中有别名的使用。参数类型设置成Dept即可

    三、使用selectOne()方法【带条件查询】

    通过编号来查询部门信息

    四、session.getMapper()方法的实现

    获取到接口的具体实现类

    注:使用接口编程需要注意:namespace需要定义为接口的全限定名。映射语句的id配置需要与接口中的方法名相同

  • 相关阅读:
    【BZOJ3028】食物(生成函数基础题)
    【BZOJ2438】[中山市选2011] 杀人游戏(Tarjan)
    【BZOJ4833】[Lydsy1704月赛] 最小公倍佩尔数(神仙数学题)
    【BZOJ2109】【BZOJ2535】[NOI2010] 航空管制(拓扑反向建图)
    【BZOJ2679】[USACO2012 Open] Balanced Cow Subsets(Meet in Middle)
    【BZOJ3091】城市旅行(再次重拾LCT)
    sass与compass实战
    【Sass初级】开始使用Sass和Compass
    nodejs、sass、backbone等api地址
    解读2015之前端篇:工业时代 野蛮发展(转)
  • 原文地址:https://www.cnblogs.com/Zhangmin123/p/5882172.html
Copyright © 2011-2022 走看看