栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis的优化步骤创建Maven项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis的优化步骤创建Maven项目

 

StudentDao接口:

package com.bjpowernode.dao;

import com.bjpowernode.domain.Student;

import java.util.List;

public interface StudentDao {
    //查询学生
    Student selectById(Integer id);

    //查询所有的学生方法
    List selectStudents();

    //添加学生
    int insertStudent(Student student);
}

使用创建好的模板mapper--创建StudentDao.xml:




    
    
        select id,name,email,age from student
    

    

使用模板,创建主配置文件mybatis.xml:

 

package com.bjpowernode.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

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


public class MybatisUtil {
    private static SqlSessionFactory factory=null;

    // 通过静态代码块,当MybatisUtil类被虚拟机加载的时候,就执行以下代码,把SqlSessionFactory factory创建一次
    //读取主配置文件
    static{
        try{
            String config="mybatis.xml";
            InputStream inputStream = Resources.getResourceAsStream(config);
            factory=new SqlSessionFactoryBuilder().build(inputStream);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    //创建方法,获取SqlSession对象
    public static SqlSession getSqlSession(){
        SqlSession session=null;
        if (factory!=null){
            session=factory.openSession();//openSession(true)
        }
        return session;
    }
}

Student类:

package com.bjpowernode.domain;

public class Student {
    //属性名和列明保持一致
    private Integer id;
    private  String name;
    private String email;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "学生实体信息{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", email='" + email + ''' +
                ", age=" + age +
                '}';
    }
}

创建工具类优化代码:MyBatisUtil类:

package com.bjpowernode.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

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


public class MybatisUtil {
    private static SqlSessionFactory factory=null;

    // 通过静态代码块,当MybatisUtil类被虚拟机加载的时候,就执行以下代码,把SqlSessionFactory factory创建一次
    //读取主配置文件
    static{
        try{
            String config="mybatis.xml";
            InputStream inputStream = Resources.getResourceAsStream(config);
            factory=new SqlSessionFactoryBuilder().build(inputStream);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    //创建方法,获取SqlSession对象
    public static SqlSession getSqlSession(){
        SqlSession session=null;
        if (factory!=null){
            session=factory.openSession();//openSession(true)
        }
        return session;
    }
}

创建测试类MyTest类:

package com.bjpowernode;

import com.bjpowernode.domain.Student;
import com.bjpowernode.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class MyTest {
    //查询测试
    @Test
    public void testSelectById(){
        //获取SqlSession
        SqlSession session= MybatisUtil.getSqlSession();
        //2.指定sqlId
        String sqlId="com.bjpowernode.dao.StudentDao.selectById";
        //3.执行sqlSession的方法,执行sql语句
        Student student = session.selectOne(sqlId, 1001);
        System.out.println(student);
        //4.关闭SqlSession对象
        session.close();
    }
    //查询所有的测试
    @Test
    public void testSelectstudents(){
        //获取SqlSession
        SqlSession session= MybatisUtil.getSqlSession();
        //2.指定sqlId
        String sqlId="com.bjpowernode.dao.StudentDao.selectStudents";
        //3.执行sqlSession的方法,执行sql语句
        List student = session.selectList(sqlId);

        //遍历集合
        for (Student stu:student){
            System.out.println("student="+stu);
        }

        //4.关闭SqlSession对象
        session.close();
    }
    @Test
    public void testInsertstudents(){
        //获取SqlSession
        SqlSession session= MybatisUtil.getSqlSession();
        //2.指定sqlId
        String sqlId="com.bjpowernode.dao.StudentDao.insertStudent";
        //3.执行sqlSession的方法,执行sql语句

        Student student=new Student();
        student.setId(1008);
        student.setName("东皇");
        student.setEmail("donghaung@.qq.com");
        student.setAge(30);

        int rows = session.insert(sqlId, student);
        session.commit();
        System.out.println("insert的行数==="+rows);
        //4.关闭SqlSession对象
        session.close();
    }
}

第一个测试结果:

第二个测试结果:

 

第三个测试结果:

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号