标签:update int 返回 传参数 set 实体类 简单 插入 from
namespace:必须是接口类的全路径 (<mapper namespace="">)
id:必须是接口的方法名(<select id=""/>)
parameterType:必须是接口方法里面的参数类型
resultType:必须是接口方法的返回值(若返回list<T>集合类型,则必须是T泛型所代表的实体类)
<?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">
<!-- sql语句映射,namespace是为了隔离sql语句 -->
<!-- mapper动态代理方式 -->
<!--namespace与mapper接口的类路径相同 -->
<!-- mapper接口方法名与mapper的id相同 -->
<!-- mapper接口方法的参数 与 parameterType相同 -->
<!-- mapper接口方法的返回类型和resultType相同 -->
<mapper namespace="com.xr.mybatis1.User">
<!-- sql查询操作 ,resultType:结果返回类型 #{}表示占位符,可以防止sql注入-->
<select id="selectById" resultType="com.xr.mybatis.User" parameterType="int">
select * from uu where id=#{id}
</select>
<select id="selectByName" resultType="com.xr.mybatis.User" parameterType="java.lang.String">
select * from uu where name like ‘%${value}%‘
</select>
<!-- 插入数据 -->
<insert id="insert" parameterType="com.xr.mybatis.User">
<!-- <selectKey keyProperty="id" order="AFTER">
select LAST_INSERT_ID()
</selectKey> -->
insert into uu(name,money) values(#{name},#{money})
</insert>
<!-- 删除数据 -->
<delete id="delete">
delete from uu where id=#{id}
</delete>
<!-- 修改数据 -->
<update id="update" parameterType="com.xr.mybatis.User">
update uu set name=#{name} where id=#{id}
</update>
</mapper>
mybatis 可以解决的jdbc问题:
1:jdbc每次都有加载驱动,创建连接等步骤 ------SqlMapConfig.xml中,使用jdbc事物,连接池处理
2:修改sql语句,就会修改java代码-----使用mapper,xml文件,映射sql语句
3:jdbc传参数太麻烦,因为sql语句的where条件不一定,参数需要和占位符一一对应-----mybatis自动将java对象映射至sql语句,通过statement中的parameterType指定
4:对结果集解析太麻烦,sql变化将导致解析代码变化,且解析前需要遍历-----mybatis自动将sql执行结果映射至java对象,通过statement的resultType指定
mybatis优点:轻量级的框架,简单,方便,可编写原生态的sql,控制sql执行性能,灵活度很高。(必须要求编写sql语句)
标签:update int 返回 传参数 set 实体类 简单 插入 from
原文地址:http://www.cnblogs.com/ruerror/p/7455765.html