利用ibatis对表增、删、改、查;方法与平常的DAO是一样的,只是去配置文件查找对应的方法而已
1.获取单个对象
实现类方法:
public Role getRole(int roleid) {
Role role = null;
try {
role = (Role) sqlMapClient.queryForObject("getRole", roleid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return role;
}
Role.xml文件中配置:
<select id="getRole" parameterClass="int" resultClass="Role">
select * from t_role
where roleid=#roleid#
</select>
parameterClass="int"表示参数类型,resultClass="Role"依旧是返回值
2.新增
实现类方法:
public void insertRole(Role role) {
try {
sqlMapClient.insert("insertRole", role);//这个方法返回一个Object,其实是返回新插入记录的序列
System.out.println("新增成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Role.xml文件中配置:
<insert id="insertRole" parameterClass="Role">
<selectKey resultClass="int" keyProperty="roleid">
select SEQ_T_ROLE.nextval from dual
</selectKey>
insert into t_role (roleid,rolename,status)
values (#roleid#,#rolename#,#status#)
</insert>
这里是根据序列新增一条记录,所以配置了selectKey;如果不根据序列的话,不用配置selectKey;
3.修改
实现类方法:
public void updateRole(Role role) {
try {
sqlMapClient.update("updateRole", role);//返回值为受影响的行,int型
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Role.xml文件中配置:
<update id="updateRole" parameterClass="Role">
update t_role set rolename=#rolename# where roleid=#roleid#
</update>
4.删除
实现类方法:
public void deleteRole(int roleid) {
try {
sqlMapClient.delete("deleteRole", roleid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Role.xml文件中配置:
<delete id="deleteRole" parameterClass="int">
delete from t_role where roleid=#roleid#
</delete>