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

chater02-mybatis-dao

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

chater02-mybatis-dao

 

目录

如果使用maven,则所需依赖如下pom.xml

实体类

MyBatilUtil工具类 

dao(数据访问层) 

sql    mapper(sql映射文件)

 主配置文件



如果使用maven,则所需依赖如下pom.xml



  4.0.0

  edu.tjdz
  ch02-mybatis-dao
  1.0-SNAPSHOT

  
    UTF-8
    1.8
    1.8
  

  
    
      junit
      junit
      4.11
      test
    

      
      
          org.mybatis
          mybatis
          3.5.6
      
      
      
          mysql
          mysql-connector-java
          8.0.25
      
  

  
      
          
              src/main/java  
              
                  ***.xml
              
              
              false
          
      
  

实体类
package edu.tjdz.domain;

public class Student {
    //包装类型可以为空
    Integer id;
    String name;
    String email;
    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 "Student{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", email='" + email + ''' +
                ", age=" + age +
                '}';
    }
}

MyBatilUtil工具类 
package edu.tjdz.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 MyBatitsUtils {

    private static SqlSessionFactory factory = null;
    //静态代码块在类加载的时候执行
    static {
        String config = "mybatis.xml";
        try {
            InputStream in = Resources.getResourceAsStream(config);
            //创建SqlSessionFactory对象,使用SqlSessionFactoryBuilder
            factory = new SqlSessionFactoryBuilder().build(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //获取SqlSession的方法
    public static SqlSession getSqlSession(){
        SqlSession sqlSession = null;
        if (factory != null){
            sqlSession = factory.openSession(true);
        }
        return sqlSession;
    }


}

dao(数据访问层) 
package edu.tjdz.dao;

import edu.tjdz.domain.Student;

import java.util.List;

public interface StudentDao {

    List selectStudent();

    int insertStudent(Student student);
}



package edu.tjdz.dao.impl;

import edu.tjdz.dao.StudentDao;
import edu.tjdz.domain.Student;
import edu.tjdz.utils.MyBatitsUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class StudentDaoImpl implements StudentDao {
    @Override
    public List selectStudent() {
        //获取SqlSession对象
        SqlSession sqlSession = MyBatitsUtils.getSqlSession();
        String sqlId = "edu.tjdz.dao.StudentDao.selectStudent";
        //执行sql语句
        List students = sqlSession.selectList(sqlId);
        //关闭
        sqlSession.close();
        return students;
    }

    @Override
    public int insertStudent(Student student) {
        //获取SqlSession对象
        SqlSession sqlSession = MyBatitsUtils.getSqlSession();
        String sqlId = "edu.tjdz.dao.StudentDao.insertStudent";
        //执行sql语句
        int nums = sqlSession.insert(sqlId,student);
        //提交事务
        sqlSession.commit();
        //关闭
        sqlSession.close();
        return nums;
    }
}

sql    mapper(sql映射文件)



    

    
        insert into student values(#{id},#{name},#{email},#{age})
    


 

 主配置文件



    
    
        
        
    

    
    
        
            
            
                
                
                
                
            
        

    

    
    
        
    


TestMybatis 
package edu.tjdz;

import edu.tjdz.dao.StudentDao;
import edu.tjdz.dao.impl.StudentDaoImpl;
import edu.tjdz.domain.Student;
import org.junit.Test;

import java.util.List;

public class TestMybatis {

    @Test
    public void testSelectStudnet(){
        StudentDao dao = new StudentDaoImpl();
        
        List studentList = dao.selectStudent();
        for(Student stu: studentList){
            System.out.println("查询的学生:"+stu);
        }
    }

    @Test
    public void testInsertStudent(){
        StudentDao dao = new StudentDaoImpl();
        Student stu = new Student();
        stu.setId(1006);
        stu.setName("李白");
        stu.setEmail("libai@163.com");
        stu.setAge(60);
        int nums = dao.insertStudent(stu);
        System.out.println("添加数据的条数="+nums);
    }
}

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

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

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