增删改操作
在本篇 1 代码的基础上 修改
其他配置文件请看MyBatis 框架 1
1).Mapper.xml 文件
<?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">
<mapper namespace="UserInfo">
<select id="selectUser" parameterType="int" resultType="myBatisTest.UserInfo">
select * from userinfo where id = #{id}
</select>
<!--parameterType:传入的参数类型-->
<!--不同于select insert参数 #{userName}等等必须与userInfo的属性一致-->
<insert id="insertUser" parameterType="myBatisTest.UserInfo">
insert into userinfo
(id, username,password, sex, email)
values
(tab_user_seq.nextval,#{userName}, #{password}, #{sex}, #{email})
<!--UserInfo order的意思是等语句执行完后操作-->
<selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
select tab_user_seq.currval from dual
</selectKey>
</insert>
<!--这是oracle数据库的mysql获取id写法
select last_insert_id() as id
-->
<update id="updateUser" parameterType="myBatisTest.UserInfo">
update userinfo set password = #{password} where id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
delete userinfo where id = #{id}
</delete>
</mapper>
2).test.java
package myBatisTest;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class test {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlsession = sf.openSession();
/* 查询操作
UserInfo u= sqlsession.selectOne("UserInfo.selectUser",141);
System.out.println(u);
*/
System.out.println("------------插入操作------------");
UserInfo u1 = new UserInfo();
u1.setUserName("张九");
u1.setPassword("123456");
u1.setSex("男");
u1.setEmail("");
int result1 = sqlsession.insert("insertUser", u1);
if (result1>0) {
sqlsession.commit();
System.out.println("新增成功");
System.out.println(u1);
}else{
//sqlsession.rollback();
System.out.println("新增失败");
}
System.out.println("------------修改操作------------");
UserInfo u2 = new UserInfo();
u2.setPassword("333");
u2.setId(55);
int result2 = sqlsession.update("UserInfo.updateUser", u2);
if (result2>0) {
sqlsession.commit();
System.out.println("修改成功");
System.out.println(u2);
}else{
//sqlsession.rollback();
System.out.println("修改失败");
}
System.out.println("------------删除操作------------");
int result3 = sqlsession.update("UserInfo.deleteUser", 56);
if (result3>0) {
sqlsession.commit();
System.out.println("删除成功");
}else{
//sqlsession.rollback();
System.out.println("删除失败");
}
sqlsession.close();
}
}
3).结果
------------插入操作------------
新增成功
UserInfo [id=58, userName=张九, password=123456, sex=男, email=]
------------修改操作------------
修改成功
UserInfo [id=55, userName=null, password=333, sex=null, email=null]
------------删除操作------------
删除成功