ibatis动态参数和集合参数配置
来源:互联网 发布:易语言游戏辅助源码 编辑:程序博客网 时间:2024/06/05 17:51
iterate
// 此处必须要$,不能用#property<result property="" column=""/> ibatis是轻量的ORM,类似于一个半自动化化数据操作框架。而hibernate是全自动的ORM。
ibatis主要是让实体类与数据库的字段名称一一对应,然后在xml编写操作数据库的SQL语句。
ibatis数据库操作主要包括增删查改。
主要包括:一:在代码中:
通过sqlMapper.queryForList("sql_id",param),其中:sql_id就是我们在xml中编写的sql语句id号(通过此id找到数据库sql语句)
parm就是查询条件参数值(一般是一个参数(也有两个参数或者无参数)),参数值可以使对象,int或者String类型。
二:在xml编写sql语句,主要包括增删查改
在写sql语句前,可以做一些其他的简单说明:比如,类别名(类似给类弄一个简称,方法类以后使用),实体类与数据字段一一对应说明等等。
<sqlMap namespace="空间名称">
(2):删: <delete id="deleteAccountById" parameterClass="String">
(3):改:<update id="updateTeacher" parameterClass="com.wsw.ibatis.bean.Teacher">
<!-- 按照提交参数记录 -->
ibatis主要是让实体类与数据库的字段名称一一对应,然后在xml编写操作数据库的SQL语句。
ibatis数据库操作主要包括增删查改。
主要包括:一:在代码中:
通过sqlMapper.queryForList("sql_id",param),其中:sql_id就是我们在xml中编写的sql语句id号(通过此id找到数据库sql语句)
parm就是查询条件参数值(一般是一个参数(也有两个参数或者无参数)),参数值可以使对象,int或者String类型。
二:在xml编写sql语句,主要包括增删查改
在写sql语句前,可以做一些其他的简单说明:比如,类别名(类似给类弄一个简称,方法类以后使用),实体类与数据字段一一对应说明等等。
<sqlMap namespace="空间名称">
<typeAlias alias="teacher" type="com.wsw.ibatis.bean.Teacher"/> // 给类取一个别名,方便以后在后来使用。
<resultMap class="" id=""> // 给返回的类定一个id号,以后就可以直接用该id表示这个类
<result property="属性名" column="数据库字段名"/> // 返回的实体类的属性与数据库字段匹配,两者名称可相同或者不同
<result property="属性名" column=" 数据库字段名"/>
<result property="属性名" column=" 数据库字段名"/>
</resultMap>
<parameterMap class="" id=""> // 参数类,用于执行sql的参数值,与上面的返回类不同。
<parameter property="属性名" jdbcType="属性类型"/>
</parameterMap>
</sqlMap>
还有就是: parameterClass 表示参数类,用于做参数值。
parameterClass 表示返回值类,用于返回值。
在这种情况下 ,没有把实体类属性和数据库的字段一一写出,表示实体类属性和数据库的字段名称和类型完全一致。
----------------------------------------------------------------------------------------------------------------------------
(1):增: <insert id="addTeacher" parameterClass="com.wsw.ibatis.bean.Teacher">还有就是: parameterClass 表示参数类,用于做参数值。
parameterClass 表示返回值类,用于返回值。
在这种情况下 ,没有把实体类属性和数据库的字段一一写出,表示实体类属性和数据库的字段名称和类型完全一致。
----------------------------------------------------------------------------------------------------------------------------
insert into teacher (id,username, age)values (#id#,#username#,#age#)
</insert>
(2):删: <delete id="deleteAccountById" parameterClass="String">
delete from teacher where id = #id#
</delete>
(3):改:<update id="updateTeacher" parameterClass="com.wsw.ibatis.bean.Teacher">
update teacher set username=#username#,age= #age# where id=#id#
</update>
(4):查: <!-- 查找某一条记录 -->
(4):查: <!-- 查找某一条记录 -->
<select id="selectTeacherById" parameterClass="int" resultClass="com.wsw.ibatis.bean.Teacher">
select * from teacher where id = #id#
</select>
<!-- 查询所有记录 --> <select id="selectAllTeacher" resultClass="com.wsw.ibatis.bean.Teacher">
select * from teacher
</select>
===============================================================================================
(5):动态按照条件查询 (如果需要循环迭代,最好用list,不要用数组)===============================================================================================
<!-- 按照提交参数记录 -->
<select id="selectSomeTeacher" parameterClass="com.wsw.ibatis.bean.Teacher" resultClass="com.wsw.ibatis.bean.Teacher" >
select * from teacher
<dynamic prepend="WHERE"> // 表示动态
<isNotEmpty prepend="AND" property="username"> // isNotEmpty 表示如果非空,property表示类属性名
<![CDATA[ username in ]]>
<iterate conjunction="," open="(" close=")" property="username" > //iterate 表示迭代
<iterate conjunction="," open="(" close=")" property="username" > //iterate 表示迭代
$usernames[]$ // 此处必须要$,不能用# // 迭代必须是集合list ,千万不能
</iterate> //是数组
<![CDATA[]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="age">
(age = #age#) // 此处最好用#,不要用$
</isNotEmpty>
</dynamic>
</select>
0 0
- ibatis动态参数和集合参数配置
- ibatis动态参数和集合参数配置
- ibatis动态获取执行SQL和参数
- 动态Ibatis中parameterClass参数
- Ibatis 配置参数详解 (五)
- ibatis参数传入和传出
- ibatis参数传递 sql动态拼接
- log4j动态配置参数
- ibatis中的order by 参数配置问题
- Ibatis手册上配置参数说明
- ibatis maxTransactions 参数配置致使线程堵塞
- ibatis 参数和结果的映射处理
- 动态修改MYSQL配置参数
- 动态修改MYSQL配置参数
- Spring 的参数动态配置
- pfile spfile静态和动态修改配置参数
- ibatis 动态传入 表名、列 以及参数
- ibatis获取运行时的动态SQL语句及其参数
- 总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- CSS颜色代码
- Javascript 返回上一页:
- 圆角背景
- 怎么使用Android隐藏函数
- ibatis动态参数和集合参数配置
- Java解析Json对象
- 四种NAT的iptables实现
- OV系列CMOS图像传感芯片的接口时序的FPGA实现
- 【JavaSE】Class.getResource(String name)和ClassLoader.getResource(String name)
- POS终端ECB算法详细解释之一
- 网络地址转换
- Hibernate一对一,一对多懒加载的要求
- 关于谷歌翻译接口调用php方法