MyBatics基础构筑

1.在src包创建mybatis-config.xml文件,导入database.propertise文件做数据库导入;
创建SqlSessionUtils.java工具类,用于直接创建session对象,减少代码冗余

package com.kgc.util;

import java.io.IOException;
import java.io.InputStream;

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 class SqlSessionUtils {

    private static SqlSessionFactory sqlSessionFactory;
    //静态代码块,从"mybatis-config.xml"获取连接数据库、创建log4j等的数据,创建sqlSessionFactory对象
    static{

        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");

                    sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //在类调用的静态代码块后获取sqlSession对象的方法,使用false关闭自动提交
    public static SqlSession getSqlSession() {
        SqlSession sqlSession = sqlSessionFactory.openSession(false);
        return sqlSession;
    }
    //关闭sqlSession对象的方法
    public static void closeSession(SqlSession sqlSession) {
        if (sqlSession != null) {
            sqlSession.close();
        }
    }

}

2.创建dao层,创建Mapper.xml文件



//工作空间,dao包全路径
<mapper namespace="com.kgc.dao.UserDao">
//索引id 返回类型及sql语句
<select id="count" resultType="int">SELECT COUNT(1) FROM USERselect>
<select id="selectALL" resultType="com.kgc.entity.User">select * from userselect>
<delete id="deleteById" parameterType="int">delete from user where id = #{id}delete>
<insert id="insert" parameterType="int">insert into user value(null,#{name},#{pwd}) insert>
<update id="updateById" parameterType="int">UPDATE USER SET name = #{name} , pwd = #{pwd} WHERE id = #{id};update>
mapper>
创建dao接口,其抽象方法名字跟id要一样
package com.kgc.dao;

import java.util.List;

import com.kgc.entity.User;

public interface UserDao {

    List<User> selectALL();

    int deleteById(int id);

    int insert(User user);

    int updateById(User user);

}

test类

package com.kgc.test;



import java.util.List;

import org.apache.ibatis.session.SqlSession;


import com.kgc.dao.UserDao;
import com.kgc.entity.User;

import com.kgc.util.SqlSessionUtils;


public class Test {



    public static void main(String[] args) {
        SqlSession session =SqlSessionUtils.getSqlSession();
        //全查
        List list = session.getMapper(UserDao.class).selectALL();
        for (User user : list) {
            System.out.println(user.toString());


            //删
            int delete = session.getMapper(UserDao.class).deleteById(2);
            System.out.println(delete);
            session.commit();
            //增
            User user1 = new User(0,"laowu","ahaha");
            int insert =  session.getMapper(UserDao.class).insert(user1);
            System.out.println(insert);
            session.commit();

            //改
            User updateUser = new User(1, "yueyao", "123456");
            int update = session.getMapper(UserDao.class).updateById(updateUser);
            session.commit();
            System.out.println(update);

            //模糊查
            List list2 = session.getMapper(UserDao.class).selectByName("yu");
            for (User user2 : list2) {
                System.out.println(user2.toString());
            }
        }
    }
}

你可能感兴趣的:(学习笔记)