如何使用Maven创建Mybatis项目

1.打开idea,依次点击左上角的File->New->project
在这里插入图片描述
2.选择Maven,然后点击Next
在这里插入图片描述
3.通过点击这个文件夹进行文件存放地址的改变,然后输入项目的名字
在这里插入图片描述
4.再点击Finish,Maven项目就创建好了
在这里插入图片描述
5.然后在pom.xml文件中加入Mybatis相关依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>MybatisDays01</artifactId>
    <version>1.0-SNAPSHOT</version>
    //以下为依赖
    <dependencies>
        <!--  mysql连接      -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
        <!--    开启日志    -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.3.0-alpha14</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.3.0-alpha14</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
            <version>1.3.0-alpha14</version>
        </dependency>
        <!--    小辣椒      -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>

        <!--    测试依赖         -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <!--      mybatis依赖        -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
    </dependencies>
    </project>

6.添加好相应依赖后,点击刷新进行相关依赖的下载
在这里插入图片描述
下载好后,按以下图示步骤查看依赖是否下载成功
在这里插入图片描述
7.配置 XML文件,我的XML文件为mybatis-config.xml, XML文件配置不唯一,可以参考Mybais官网进行配置

<?xml version="1.0" encoding="UTF-8" ?>
<!--mybatis 官方約定该文件必须包含哪标签,不能超过官方提供标签的范围-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 设置 mybatis的一些行为;开启mybatis为我们提供的一些强大的功能-->
    <settings>
        <!-- 开启日志功能       -->
        <setting name="logImpl" value="SLF4J"/>
          <!--  驼峰命名映射      -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!-- 配置数据库的连接-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--     数据库驱动          -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--         数据库名称,mysql时区设置       -->
                <property name="url" value="jdbc:mysql://localhost:3306/java2215?serverTimezone=Asia/Shanghai"/>
                <!--        用户名        -->
                <property name="username" value="root"/>
                <!--         密码       -->
                <property name="password" value="135212"/>
            </dataSource>
        </environment>
    </environments>

    <!--核心配置文件关联 sql 映射文件-->
    <mappers>

    </mappers>
</configuration

8.配置完成,利用Mybatis对部门表进行增删改查(CRUD)
1.首先新建包
在这里插入图片描述
包的命名要规范在这里插入图包的命名片描述
然后再bean包下新建Departments类,类名首字母大写,要规范
在这里插入图片描述
数据库中的部门表相应字段
在这里插入图片描述

package com.baqn.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/30 8:41
 */
/*
@Data
@AllArgsConstructor
@NoArgsConstructor
是小辣椒的相应功能,其中@Data就相当于,getter,setter,toString,
@AllArgsConstructor有参构造方法
@NoArgsConstructor无参构造方法
通过小辣椒,可以减少代码量
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Departments {
    //将数据库中的字段和所建的类的字段要一一对应,其中dept_code要写成驼峰命名形式,因为在XML文件中已开启驼峰命名形式
     private String deptCode;
     private String name;
}

2.然后新建一个包(dao),在dao包下新建DepartmentsDao接口
在这里插入图片描述

package com.baqn.dao;
import com.baqn.bean.Departments;


/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/26 18:47
 */
public interface DepartmentsDao {
     //获取部门表所有数据方法,由于有多条数据,所以使用集合
    List<Departments> getDeptList();
}

3.在resourse包下新建一个mapper包,在mapper中新建DepaermentMapper.xml
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!--sql映射文件:约束 sql映射相关的标签   -->
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace 和 dao层的相关接口的全限定名保持一致即可-->
<mapper namespace="com.baqn.dao.DepartmentsDao" >
<!--  Departments getDeptList(); id中的值为dao层定义的方法名,查询语句需要一个返回类型-->
<select id="getDeptList" resultType="com.baqn.bean.Departments">
    SELECT
        *
    FROM
        l_departments
</select>
</mapper>

3.在mybatis-config.xml的中加入
在这里插入图片描述

4.在test包下新建包,类,进行查询部门表数据所有数据测试
在这里插入图片描述

package com.bdqn.bean;

import com.baqn.bean.Departments;
import com.baqn.dao.DepartmentsDao;
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 org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @author NXX
 * @version 1.0
 * @date 2022/7/30 9:35
 */
public class DepartmentTest {

    private SqlSessionFactory sqlSessionFactory;
    //@Before注解用于每次代码运行都会先执行该注解下的代码
    @Before
    public void initSqlSessionFactory() throws IOException {
        //核心配置文件的路径
        String resource = "mybatis-config.xml";
        //通过流的方式读取核心配置文件
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //构建一个建造者
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //通过建造者,最终创建生产工厂
        sqlSessionFactory = builder.build(inputStream);
    }
    // 在方法上加上 @Test就可以单独运行该注解下的代码
    // @Before,  @Test都是junit中的注解
    @Test
    public void getDeptList(){

        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获得DepartmentsDao的代理对象,此处用到动态代理
        DepartmentsDao mapper = sqlSession.getMapper(DepartmentsDao.class);
        //通过代理对象调用getDeptList()方法,获得部门集合
        List<Departments> deptList = mapper.getDeptList();
        //
        for (int i = 0; i < deptList.size(); i++) {
            System.out.println(deptList.get(i));
        }
        //lambda表达式
//       deptList.forEach(x-> System.out.println(x));

    }
}

5.运行结果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值