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

来源:互联网 发布:手机淘宝双收藏怎么弄 编辑:程序博客网 时间:2024/05/21 10:56

1、导入Jar包

2、设置全局配置文件

<?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>  

3、编写Javabean

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 + "]";    }}

4、配置映射文件、

<?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 intot_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_userwhere id=#{id};</delete><update id="updateUser" parameterType="User">update t_user setusername=#{userName},password=#{password},email=#{email} whereid=#{id};</update></mapper>

5、dao接口

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);}

6、dao实现

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();    }}

7、前面还少了个工具类....MyBatisUtil

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();    }}
8、Dao测试类

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);    }}


0 0
原创粉丝点击