1.创建 configuration.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!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"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@:1521:orcl" />
<property name="username" value="mybatis" />
<property name="password" value="test" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/mapper/userinfomapper.xml"/>
</mappers>
</configuration>

2.创建 entityClass 持久化类
package com.mybatis.entity;
public class UserInfo {
private String name;
private String password;
private int id;
public UserInfo(){
}
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;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
}
}
3.创建 [entityClassName]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="com.mybatis.mapper.userinfomapper">
<select id="queryUserById" parameterType="int"
resultType="com.mybatis.entity.UserInfo">
select * from userInfo where id =#{id}
</select>
<select id="queryAllUser" resultType="com.mybatis.entity.UserInfo">
select * from userInfo
</select>
<insert id="addUser" parameterType="com.mybatis.entity.UserInfo">
insert into UserInfo (id,name,password) values(#{id},#{name},#{password})
</insert>
<update id="updateUser" parameterType="com.mybatis.entity.UserInfo" >
update UserInfo set name=#{name}, password=#{password} where id=${id}
</update>
<delete id="deleteAllUser">
truncate table UserInfo
</delete>
<delete id="deleteUserById" parameterType="int">
delete from UserInfo where id=#{id}
</delete>
</mapper>
4.在configuration 注册 mapper.xml 映射文件
<mappers>
<mapper resource="com/mybatis/mapper/userinfomapper.xml"/>
</mappers>
5.基础操作
sqlSession的获取,事务的提交
select insert delete update 等操作
package com.mybatis.test;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.mybatis.entity.UserInfo;
public class TestMybatis {
private static Logger rootLogger = Logger.getLogger(TestMybatis.class);
private static SqlSession sqlSession;
@Before
public void init(){
InputStream in =
TestMybatis.class.getClassLoader()
.getSystemResourceAsStream("configuration.xml");
SqlSessionFactory ssf =new SqlSessionFactoryBuilder().build(in);
sqlSession = ssf.openSession(true);
}
@After
public void destroy(){
sqlSession.commit();
sqlSession.close();
}
public UserInfo queryUserById(int id){
String statement = "com.mybatis.mapper.userinfomapper.queryUserById";
UserInfo userInfo = (UserInfo) sqlSession.selectOne(statement, id);
rootLogger.debug(userInfo);
return userInfo;
}
public int updateUser(UserInfo userInfo) {
UserInfo up = queryUserById(userInfo.getId());
if(up!=null&&userInfo!=null){
rootLogger.debug(sqlSession);
String statement ="com.mybatis.mapper.userinfomapper.updateUser";
int affect = sqlSession.update(statement, userInfo);
return affect;
}
return 0;
}
public int addUser(UserInfo newUser) {
String statement = "com.mybatis.mapper.userinfomapper.addUser";
int affect = sqlSession.insert(statement, newUser);
rootLogger.debug(affect);
return affect;
}
public List<UserInfo> queryAllUser() {
String statement = "com.mybatis.mapper.userinfomapper.queryAllUser";
List<UserInfo> userInfos=sqlSession.selectList(statement);
rootLogger.debug(userInfos);
return userInfos;
}
public int deleteUserById(int id){
String statement = "com.mybatis.mapper.userinfomapper.deleteUserById";
int affect = sqlSession.delete(statement, id);
return affect;
}
public int deleteAllUser(){
String statement = "com.mybatis.mapper.userinfomapper.deleteAllUser";
int affect = sqlSession.delete(statement);
return affect;
}
@Test
public void test(){
UserInfo userInfo= new UserInfo();
userInfo.setId(1);
userInfo.setName("mybatis");
userInfo.setPassword("mybatis");
}
}
|