个人学习笔记--MyBatis-的搭建及第一个程序

<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"&gt;
<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"&gt; <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>

发表评论