zoukankan      html  css  js  c++  java
  • mybatis高级(1)(入门回顾)

    首先入门案例(并且拿到新增记录当前id)

    1.创建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>
            <!-- 为包下所有类使用别名,默认是简单类名 -->
            <package name="cn.cnsdhzzl.entity" />
            <!-- 对单个类,按类型名使用别名 -->
            <!-- <typeAlias type="cn.cnsdhzzl.entity.Student" alias="student" /> -->
        </typeAliases>
    
        <!-- 开发模式 -->
        <environments default="development">
            <environment id="development">
                <!-- 使用jdbc的事务 -->
                <transactionManager type="JDBC" />
                <!-- 使用自带的连接池 -->
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                    <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                    <property name="username" value="**" />
                    <property name="password" value="**" />
                </dataSource>
            </environment>
        </environments>
    
        <!-- 映射小配置 -->
        <mappers>
            <mapper resource="cn/cnsdhzzl/dao/StudentDAO.xml" />
        </mappers>
    </configuration>

    2.创建分层搭建架构

    3.创建StudentDAO.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.cnsdhzzl.dao">
        <!-- 添加操作 -->
        <insert id="insertStudent">
            insert into student(id,name,address,sex)
            values(seq_ssm.nextval,#{name},#{address},#{sex})
            <selectKey keyProperty="id" resultType="int">
                select
                seq_ssm.currval from dual
            </selectKey>
        </insert>
    
        <!-- 删除的id名称随便写 -->
        <delete id="deleteStudentById">
            delete student where id=#{id}
        </delete>
    
        <!-- 修改操作 -->
        <update id="updateStudent">
            update student set
            name=#{name},address=#{address},sex=#{sex} where id=#{id}
        </update>
    
        <!-- 返回集合要加resultType -->
        <select id="findAll" resultType="student">
            select * from student
        </select>
    
        <!-- 方法一 -->
        <select id="likeSelectByStr" resultType="student">
            select * from student
            where name like '%${value}%'
        </select>
        <!-- 方法二 -->
        <!-- <select id="likeSelectByStr" resultType="student"> select * from student 
            where name like concat('%',#{stuname},'%') </select> -->
    
        <!-- 方法一 -->
        <select id="likeSelectByEntity" resultType="student">
            select * from student
            where name like '%${name}%'
        </select>
        <!-- 方法二 -->
        <!-- <select id="likeSelectByEntity" resultType="student"> select * from 
            student where name like concat('%',#{stuname},'%') </select> -->
    
    </mapper>

    4.实现接口方法

    @Override
        public Integer addStudent(Student stu) {
            SqlSession sqlSession = SessionUtil.getSqlSession();
            int result = sqlSession.insert("insertStudent", stu);
    
            sqlSession.commit();
            sqlSession.close();
    
            System.out.println("保存结果" + result);
            return result;
        }

    5.测试

    @Test
        public void frist() {
            Student stu = new Student("BBB", "北京", "男");
            StudentDaoImpl dao = new StudentDaoImpl();
            dao.addStudent(stu);
            System.out.println("成功");
        }

     结果图

    注意事项:

    语句后面不能加';'(分号),会报sql异常

  • 相关阅读:
    8天学通MongoDB(实际操作版)——第九天 构建学习型部署环境
    构建Ubuntu Server试验环境
    8天学通MongoDB(实际操作版)——第一天 基础入门
    《JAVA与模式》之适配器模式
    wsdl
    Axis2 Fault: Transport out has not been set
    诺基亚E63常见设置指南
    java面试题总结
    R400 安装XP后 ati2dvag蓝屏解决办法
    深入理解Java多态性
  • 原文地址:https://www.cnblogs.com/cnsdhzzl/p/6188765.html
Copyright © 2011-2022 走看看