CREATE TABLE T_USER
(
ID INT PRIMARY KEY,
NAME VARCHAR2(15),
PASSWORD VARCHAR2(20)
);
CREATE SEQUENCE T_USER_SEQ START WITH 1 INCREMENT BY 1 NOCACHE;
COMMIT;
3.创建相应的JavaBean
package com.springmybatis.model;
public class User {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
}
}
4.准备表的映射文件User.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="com.springmybatis.model.User">
<resultMap id="userMap" type="User">
<id column="id" property="id" />
<id column="name" property="name" />
<id column="password" property="password" />
</resultMap>
<select id="getUser" parameterType="int" resultMap="userMap">
SELECT * FROM T_USER WHERE ID = #{id}
</select>
<insert id="addUser" parameterType="User">
INSERT INTO T_USER
(ID, NAME, PASSWORD)
VALUES
(T_USER_SEQ.NEXTVAL, #{name, jdbcType=VARCHAR}, #{password, jdbcType=VARCHAR})
</insert>
<update id="updateUser" parameterType="User">
UPDATE T_USER SET NAME = #{name, jdbcType=VARCHAR}, PASSWORD = #{password, jdbcType=VARCHAR} WHERE ID = #{id, jdbcType=INTEGER}
</update>
</mapper>
package com.springmybatis.dao;
import com.springmybatis.model.User;
public interface IUserDAO {
public boolean addUser(User user);
public boolean updateUser(User user);
public User getUser(int id);
}
7.2 UseDAOImpl.java
package com.springmybatis.dao;
import javax.annotation.Resource;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Component;
import com.springmybatis.model.User;
@Component("userDAO")
public class UserDAOImpl implements IUserDAO {
private SqlSessionTemplate sqlSessionTemplate;
public SqlSessionTemplate getSqlSessionTemplate() {
return sqlSessionTemplate;
}
@Resource(name="sqlSessionTemplate")
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
this.sqlSessionTemplate = sqlSessionTemplate;
}
@Override
public boolean addUser(User user) {
int result = sqlSessionTemplate.insert("com.springmybatis.model.User.addUser", user);
return result != 0;
}
@Override
public boolean updateUser(User user) {
int result = sqlSessionTemplate.update("com.springmybatis.model.User.updateUser", user);
return result != 0;
}
@Override
public User getUser(int id) {
User user = sqlSessionTemplate.selectOne("com.springmybatis.model.User.getUser", id);
return user;
}
}