1、SqlMapClient --封装了jdbc的操作,做CRUD。
方法:
queryForObject
queryForList
insert
update
delete
2、标签讲解
typealias :类型的别名,避免写类型的全称
用法:<typeAlias alias="别名" type="原来的名字(带包名)">
select
用法:<select id="sql语句名" parameterClass="参数类型(占位符的类型)" resultClass="返回类型">查询语句 </select>
如果有传入参数,则写sql语句中使用 #参数名# 当做占位符,表示要传入的参数,例如:select * from student where sid=#sid#
注意:如果是模糊查询,则sql语句中使用的是‘%$参数名$%’当做占位符,例如:select * from student where sname like '%$sname$%'
insert
用法:<insert id="" parameterClass="传入的参数对象">插入的语句,values后边使用占位符添加参数,多着参数都封装到传入的对象中,如插入学生的记录,那么values(#sid#,#sage#,....) ,传入的parameterClass="Student"</insert>
注意:插入的主键若使用序列生成,则应先建立一个序列,然后在insert标签中,应先嵌套以下标签:
<selectKey resultClass='int' keyProperty='主键名'>
select seqName.nextVal from dual
</selectKey>
然后下边写上正常的insert语句
此执行的过程是:先从数据库序列中获取主键值(赋值给对象),然后将记录插入数据库表中
delete
用法:<delete id="" parameteClass="sql语句中占位符类型">delete from student where sid=#sid#</delete>
update : 对主主键之外的属性进行修改
用法:<update id="" parameterClass="包装了所有占位符的类型(对象或者集合)" >update Student set sage=#sage# ,sname=#sname# where sid=#sid#</update>
注意:在使用ibitis的时候,创建的bean对象一定要有无参构造方法,因为ibitis在封装对象的时候会根据反射机制调用对象的无参构造方法,如果对象没有无参构造方法则ibitis再返回对象的sql操作时会报错。