zoukankan      html  css  js  c++  java
  • MyBatis入门案例、增删改查

    一、MyBatis入门案例:

    ①:引入jar包

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

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

    复制代码
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <typeAliases>
    <typeAlias type="cn.happy.entity.Dept" alias="Dept"/>
    </typeAliases>
    
    <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC" />
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.OracleDriver" />
                    <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                    <property name="username" value="wj" />
                    <property name="password" value="9090" />
                </dataSource>
            </environment>
        </environments>
        <!--映射文件:描述某个实体和数据库表的对应关系 -->
        <mappers>
            <mapper resource="cn/happy/entity/Dept.xml" />
            
            <mapper resource="cn/happy/entity/Mapper.xml" />
        </mappers>
    
    
    </configuration>
    复制代码

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

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

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

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

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

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

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

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

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

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

    ④:创建小配置 Dept.xml

    复制代码
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <mapper namespace="cn.happy.entity.Dept">
    
    <!-- 查询 -->
    <select id="selectDept" resultType="Dept">
    select * from Dept
    </select>
    复制代码

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

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

    复制代码
    public class Test1 {
        SqlSession session ;
        @Before
        public void initData() throws Exception{
            SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
            
            Reader reader=new FileReader("src/mybatis-config.xml");
            
            SqlSessionFactory factory=builder.build(reader);
            
            session = factory.openSession();
        }
        /*
         * 查询
         */
        @Test
        public void selectDeptTest() throws Exception{
            
            
            List<Dept> selectList = session.selectList("selectDept");
            
            for (Dept dept : selectList) {
                System.out.println(dept.getDeptName());
            }
        }
        
    复制代码


    二、同理 增、删、改

    如图所示:

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


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

    通过编号来查询部门信息


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

    获取到接口的具体实现类

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

  • 相关阅读:
    (网页)中的简单的遮罩层
    (后端)shiro:Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
    (网页)jQuery的时间datetime控件在AngularJs中使用实例
    Maven Myeclipse 搭建项目
    MyBatis 环境搭建 (一)
    java 常用方法
    XML 基础
    JS BOM
    js 事件
    js 的使用原则
  • 原文地址:https://www.cnblogs.com/hr1997/p/5881936.html
Copyright © 2011-2022 走看看