User.java
package com.mybatis.config;
public class User {
private int userId;
private String userName;
private String password;
private String comment;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}
接口UserDao.java
package com.mybatis.config;
import java.util.List;
public interface UserDao {
public int insert(User user);
public int update(User user);
public int delete(String userName);
public List<User> selectAll();
public int countAll();
public User findByUserName(String userName);
}
UserDaoMapper.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.mybatis.config.UserDao">
<select id="countAll" resultType="int">
select count(*) c from t_user
</select>
<select id="selectAll" resultType="com.mybatis.config.User">
select * from t_user order by userName asc
</select>
<insert id="insert" parameterType="com.mybatis.config.User">
insert into t_user(userName,password,comment_1) values(#{userName},#{password},#{comment})
</insert>
<update id="update" parameterType="com.mybatis.config.User">
update t_user set userName=#{userName},password=#{password},comment_1=#{comment} where userName=#{userName}
</update>
<delete id="delete" parameterType="int">
delete from t_user where userName=#{userName}
</delete>
<select id="findByUserName" parameterType="String" resultType="com.mybatis.config.User">
select * from t_user where userName=#{userName}
</select>
</mapper>
Configuration.xml
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/config/UserDaoMapper.xml"/>
</mappers>
</configuration>
测试类UserDaoTest.java
package com.mybatis.config;
import java.io.Reader;
import java.util.Iterator;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
public class UserDaoTest {
@Test
public static void userDaoTest() throws Exception
{
String resource = "com/mybatis/config/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(reader);
SqlSession session = factory.openSession();
UserDao userDao = session.getMapper(UserDao.class);
User user = new User();
user.setUserName("hongye");
user.setPassword("123456");
user.setComment("备注");
userDao.insert(user);
System.out.println("记录条数:"+userDao.countAll());
List<User> users = userDao.selectAll();
Iterator<User> iter = users.iterator();
while(iter.hasNext()){
User u = iter.next();
System.out.println("用户名:"+u.getUserName()+"密码:"+u.getPassword());
}
user.setComment("comment");
userDao.update(user);
User u = userDao.findByUserName("hongye");
System.out.println(u.getComment());
//userDao.delete("hongye");
System.out.println("记录条数:"+userDao.countAll());
session.commit();
session.close();
}
public static void main(String[] args) {
try {
userDaoTest();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
t_user表
-- Create table
create table T_USER
(
USERID NUMBER,
USERNAME VARCHAR2(20),
PASSWORD VARCHAR2(20),
COMMENT_1 VARCHAR2(200)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255;