<div id="article_content" class="article_content">
<p>1、导入Jar包</p>
<p><img src="http://img.blog.csdn.net/20141202110516628?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmF2YV93YXk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="177" width="202" alt="" /></p>
<p>2、设置全局配置文件</p>
<p></p><pre name="code" class="html"><?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>
<typeAliases>
<!--给实体类起一个别名 user -->
<typeAlias type="cn.sky.bookshop.beans.User" alias="User" />
</typeAliases>
<!--数据源配置 这块用 mysql数据库 -->
<environments default="development">
<environment id="development">
<transactionManager type="jdbc" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/ibatis" />
<property name="username" value="root" />
<property name="password" value="215890" />
</dataSource>
</environment>
</environments>
<mappers>
<!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 -->
<mapper resource="User.xml" />
<mapper resource="UserMapper.xml" />
</mappers>
</configuration> </pre><br />
3、编写Javabean
<p></p><pre name="code" class="java">package cn.sky.bookshop.beans;
public class User {
private int id;
private String userName;
private String password;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@Override
public String toString() {
return "User [email=" + email + ", id=" + id + ", password=" + password
+ ", username=" + userName + "]";
}
}</pre><br />
4、配置映射文件、
<p></p><pre name="code" class="html"><?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="test">
<!-- 添加记录 parameterType传入参数类型-->
<insert id="insertUser" parameterType="User">
insert into
t_user(id,username,password,email)values(#{id},#{userName},#{password},#{email});
</insert>
<!-- resultType返回参数类型 -->
<select id="findUserByName" parameterType="string" resultType="User">
select * from t_user where username=#{userName};
</select>
<delete id="deleteUserById" parameterType="int">
delete from t_user
where id=#{id};
</delete>
<update id="updateUser" parameterType="User">
update t_user set
username=#{userName},password=#{password},email=#{email} where
id=#{id};
</update>
</mapper></pre><br />
5、dao接口
<p></p><pre name="code" class="java">package cn.sky.bookshop.dao;
import cn.sky.bookshop.beans.User;
public interface UserDao {
public User findUserByName(String username);
public void insertUser(User user);
public void deleteUserById(int id);
public void updateUser(User user);
}
</pre><br />
6、dao实现
<p></p><pre name="code" class="java">package cn.sky.bookshop.dao;
import org.apache.ibatis.session.SqlSession;
import cn.sky.bookshop.beans.User;
import cn.sky.bookshop.utils.MyBatisUtil;
public class UserDaoImpl implements UserDao {
//查找
public User findUserByName(String username) {
SqlSession sqlSession = MyBatisUtil.getSqlSession();
User user = sqlSession.selectOne("test.findUserByName",username);
sqlSession.close();
return user;
}
//插入
public void insertUser(User user) {
SqlSession sqlSession = MyBatisUtil.getSqlSession();
sqlSession.insert("test.insertUser", user);
sqlSession.commit();
sqlSession.close();
}
//删除
public void deleteUserById(int id){
SqlSession sqlSession = MyBatisUtil.getSqlSession();
sqlSession.delete("test.deleteUserById", id);
sqlSession.commit();
sqlSession.close();
}
//更新
public void updateUser(User user){
SqlSession sqlSession = MyBatisUtil.getSqlSession();
sqlSession.update("test.updateUser", user);
sqlSession.commit();
sqlSession.close();
}
}
</pre><br />
7、前面还少了个工具类....MyBatisUtil
<p></p><pre name="code" class="java">package cn.sky.bookshop.utils;
import java.io.IOException;
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 final class MyBatisUtil {
private static SqlSessionFactory sessionFactory;
private static String resource = "configuration.xml";
static{
try {
sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
// sessionFactory.getConfiguration().addMapper(UserDao.class);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
return sessionFactory.openSession();
}
}
</pre>8、Dao测试类
<p></p><pre name="code" class="java">package cn.sky.bookshop.test;
import cn.sky.bookshop.beans.User;
import cn.sky.bookshop.dao.UserDao;
import cn.sky.bookshop.dao.UserDaoImpl;
public class UserDaoImplTest {
public static UserDao userDao = new UserDaoImpl();
public static void main(String[] args) {
// addUser();
// findUser();
// deleteUser();
updateUser();
}
public static void addUser(){
User user = new User();
user.setUserName("李四");
user.setPassword("zhangsanw2");
user.setEmail("zserw@qq.com2");
userDao.insertUser(user);
}
public static void findUser(){
User user = userDao.findUserByName("李四");
System.out.println(user);
}
public static void deleteUser(){
userDao.deleteUserById(3);
}
public static void updateUser(){
User user = new User();
user.setId(2);
user.setUserName("小吴");
user.setPassword("xiaowu");
user.setEmail("abc@qq.com2");
userDao.updateUser(user);
}
}
</pre><br /><br /></div>