MyBatis 04
来源:互联网 发布:大数据培训多少钱 达内 编辑:程序博客网 时间:2024/05/20 19:29
整理了一下之前学习框架时候的一点笔记。如有错误欢迎指正,不喜勿喷。
上一节讲到了获得sqlsession,那么这一节我么讲利用sqlsession来完成一些数据的操作(增删改查)。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.demo.entity.emp"> <!-- 全部查找 --> <select id="findAll" resultType="com.demo.entity.emp"> select *from emp </select> <!-- 模糊查找 --> <select id="findLikeName" parameterType="int" resultType="com.demo.entity.emp"> select*from emp where name like #{name} </select> <!-- 精确查找 --> <select id="findById" parameterType="int" resultType="com.demo.entity.emp"> select*from emp where id = #{id} </select> <!-- 插入操作 --> <insert id="save" parameterType="com.demo.entity.emp"> insert into emp(name,salary,age) values(#{name},#{salary},#{age}) </insert> <!-- 删除操作 --> <delete id="delete" parameterType="int"> delete form emp where id=#{eid} </delete> <!-- 更新操作 --> <update id="update" parameterType="com.demo.entity.emp"> update emp set salary=#{salary} where id=#{id} </update> </mapper>
以上是对sql语句的定义。
parameterType=”int” 这个属性是对参数类型的定义,MyBatis提供了一套简单的定义,有:int,string,double等,都是小写开头。如果不用MyBatis提供的定义,那么参数定义里必须填写参数的具体类型(包名.类名,例如:java.lang.String)。
这里的参数表示和我们的jdbc有些区别,不是用?表示位置参数,而是用#{XXX}替代。
当参数只有一个时候,#{xxx}里面的占位符可以随意填写。但是像插入操作有三个参数,就要填写实体类中的域名。
<!-- 插入操作 --> <insert id="save" parameterType="com.demo.entity.emp"> insert into emp(name,salary,age) values(#{name},#{salary},#{age}) </insert>
以上是empMapper中的sql语句定义。
接下来我们来看看测试语句:
package Test;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.demo.Utils.MybatisUtil;import com.demo.entity.emp;public class TestEmp { public static void main(String[] args){ SqlSession session = MybatisUtil.getSqlSession(); //查询所有// List<emp> list=// session.selectList("findAll");// for(emp e:list){// System.out.println(e.getAge());// } //session.close(); //条件查询// emp e=session.selectOne("findById",1);// System.out.println(e.getName());// session.close(); // 插入操作// emp e=new emp();// e.setName("wch");// e.setSalary(5000000.0);// e.setAge(22);// session.insert("save",e);// session.commit();// //若想修改或者添加数据,需要提交即:session.commit。// //我们以前使用的jdbc是自动提交,这里的框架将自动提交关闭了。// session.close(); //删除操作// session.delete("delete",1);// session.commit(); //更新操作 emp e=new emp(); e.setId(1); e.setSalary(100000.0); session.update("update", e); session.commit(); session.close(); }}
以上就是利用MyBatis对数据库的具体简单操作。
阅读全文
0 0
- MyBatis 04
- 【MyBatis-04】mybatis开发dao的方式
- MyBatis学习笔记04
- mybatis-04 小结
- mybatis-04-动态SQL
- MyBatis
- MyBatis
- Mybatis
- myBatis
- mybatis
- MyBatis
- mybatis
- Mybatis
- MyBatis
- Mybatis
- mybatis
- MyBatis
- MyBatis
- PAT (Basic Level) Practise (中文) 1051. 复数乘法 (15)
- [转载]VC 6.0中添加库文件和头文件
- FastJson
- java项目的导入导出
- 设计模式
- MyBatis 04
- 6-1 循环单链表区间删除(15 分)
- PCA数学原理
- Java 枚举
- redis在centos的安装
- APP如何适配不同的Android版本
- count(1)、count(*)与count(列名)的执行区别
- 【LOJ】 1138 Trailing Zeroes (III)
- OpenLayers3学习三:地图旋转及地图跳转到某一点的方式(以类为接口)