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

第一个MyBatis项目

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

第一个MyBatis项目

第一个MyBatis项目

1.新建maven项目2. 连接数据库3.导入相关依赖(API)--pom.xml4.配置log4j--方便查看控制台输出sql语句5.创建实体类Student

5.1什么是实体类5.2编写实体类注意5.3创建实体类Student 6.新建Dao层

6.1什么是Dao层6.2创建StudentDao接口 7.创建映射StudentMapper.xml文件8.创建mybatis-config.xml作为主配置文件9.创建Dao层接口实现类StudentDaoImpl10.创建测试类StudentTest
项目结构:

1.新建maven项目

File-New-Project-Maven-Next-输入项目名-Finsh

2. 连接数据库
    View-Tools Windows-Database

    Database-±Data Source-选择要连接的数据库

3.导入相关依赖(API)–pom.xml
    MySQL驱动log4j–控制日志信息输送到控制器等junit–单元测试框架,进行代码测试mybatis–访问操作数据库

代码:




    

        
            mysql
            mysql-connector-java
            8.0.28
        

        
            com.att.inno
            log4j
            1.2.13
        

        
            junit
            junit
            4.12
        

        
            org.mybatis
            mybatis
            3.5.2
        

    


4.配置log4j–方便查看控制台输出sql语句

在reources目录下新建log4j.properties文件

输入:

# 全局配置
log4j.rootLogger=ERROR,stdout
# MyBatis日志配置
log4j.logger.com.lifeng=DEBUG
# 控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

未配置log4j.properties,会报出以下错误:

5.创建实体类Student 5.1什么是实体类

一般的实体类对应一个数据表,其中的属性对应数据表中的字段实体类就是把对某一个表的操作全写在一个类中. 5.2编写实体类注意

    实体类的名字尽量和数据库的表的名字对应相同。实体类有属性和方法,属性对应数据库中表的字段,主要有getter和setter方法。实体类应该有个无参的构造方法。实体类应该有个有参(所有的参数)的构造方法。
5.3创建实体类Student
    创建目录:src-main-java-com.hbfu.entity-Student
package com.hbfu.entity;

public class Student {
    //声明变量并封装--封装后外界不能访问使用变量-只能通过setter和getter方法
    private int id;
    private  String studentsname;
    private String gender;
    private int age;

    //定义方法,返回数据库中的信息
    public String toString(){
        return "Student{"+"id="+id+
                ",studentname="+studentsname+
                ",gwnder="+gender+
                ",age="+age+
                "}";
    }

    //setter--用于设置和getter--用于获取
    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setStudentsname(String studentsname) {
        this.studentsname = studentsname;
    }

    public String getStudentsname() {
        return studentsname;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getGender() {
        return gender;
    }

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

    public int getAge() {
        return age;
    }
}
6.新建Dao层 6.1什么是Dao层

Dao(Data Access Object):数据访问接口,对数据库进行操作,夹在业务逻辑层和数据库资源中间Dao层一般有接口和接口的实现类:

    接口通常用来定义实现类的外观即实现类的行为定义,用来约束实现类的行为。接口相当于一份契约,根据外部应用需要的功能,约定了实现类因该要实现的功能。通过使用接口,可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系,接口就是实现类对外的外观。实现类一般用于操作数据库:实现类是针对接口来讲的,来实现接口中约定的内容
6.2创建StudentDao接口

创建目录:src-main-java-com.hfbu.dao-StudentDao

代码:

package com.hbfu.dao;
public interface StudentDao {
    public List findAllStudent();//查找全部学生
}
7.创建映射StudentMapper.xml文件

通过.xml将数据库增删改查操作使用标签化的语言来写映射文件主要实现sql语句与Java对象之间的映射,使sql语句查询出来的关系型数据能封装成Java对象创建目录:src-main-resources-mapper-StudentMapper.xml或src-main-java-com.hbfu.dao-StudentMapper.xml

创建方式:File-Settings-Editor-File and Code Templates-Files-±……

代码:


        

    
        select * from student
    

代码解析:

    映射文件的约束信息
 
    一级标签及其属性

中包含多个标签对数据库进行操作属性-namespace:用于标识映射文件,通常设置为对应接口的全路径名称

    查询标签

    属性:id–命名空间中唯一标识符,可以被引用,其值一般设置成与接口中对应的方法名称;

resultType=“com.hbfu.entity.Student”–sql语句查询结果映射为Student对象类型

    sql语句–查询-查询student表中所有信息
select * from student
8.创建mybatis-config.xml作为主配置文件

主配置文件主要用于配置:项目的环境,数据库连接相关配置等通常命名为:mybatis-config.xml创建目录:src-main-resources或src

创建方式同上面映射文件的创建方式一样

代码:


        


    
        

            

            

                
                
                
                
            
        
    

    
        
    

9.创建Dao层接口实现类StudentDaoImpl

创建目录:src-main-java-com.hfbu.dao-StudentDaoImpl

代码:

package com.hbfu.dao;

public class StudentDaoImpl implements StudentDao{

    @Override
    public List findAllStudent() {
        SqlSession session = null;
        List studentList=new ArrayList();
        try {
            //读取主配置文件mybatis-config.xml
            String resource= "mybatis-config.xml";
            Reader reader= Resources.getResourceAsReader(resource);
            //根据主配置文件mybatis-config.xml构建 SqlSessionFactory对象factory
            SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
            SqlSessionFactory factory= builder.build(reader);
            //根据SqlSessionFactory对象创建SqlSession对象session
            session  = factory.openSession();
            //调用SqlSession对象session的selectList方法执行查询数据库的操作,返回映射后的结果集合
            studentList=session.selectList("com.hbfu.dao.StudentDao.findall");
        }catch (Exception e){
            e.printStackTrace();
        }
        return studentList;
    }
}

selectList()是SqlSession类的方法,用于查询记录集合 10.创建测试类StudentTest

创建目录:src-test-java-StudentTest.java

代码:

public class StudentTest {
    @Test
    public  void test(){
        StudentDao studentDao=new StudentDaoImpl();
        System.out.println(studentDao.findAllStudent());
    }
}

运行结果:

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

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

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