• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
cnsdhzzl
博客园    首页    新随笔    联系   管理    订阅  订阅
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异常

 

posted on 2016-12-17 12:26  cnsdhzzl  阅读(221)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3