mybatis配合maven项目搭建

4 篇文章 0 订阅
3 篇文章 0 订阅

强烈推荐配合idea插件mybatisx使用,此插件可以让代码的编写更为顺畅

首先我们选择maven项目进行搭建,由于我们这边进行的是javase的搭建而并非javaweb项目,所以骨架原型不选即可,直接进行下一步
在这里插入图片描述

在这里插入图片描述

填写完毕后进入主界面

在这里插入图片描述

需要注意的是,maven工程下不同文件夹都相对着不同的功能分块

src/main/java:放置开发者代码

src/test/java:放置开发者测试代码

src/main/resources:存放配置文件

src/test/resources存放配置文件

prom.xml:主配置文件

target:编译后生成的工程文件


首先,我们需要在pom.xml配置文件中进行添加mybatis的依赖,不同版本的mybatis在maven仓库的相关依赖可以在maven的仓库依赖中查询https://mvnrepository.com/ 我们这里使用mybatis版本为3.4.4,注意,如果你的pom.xml没有相关的dependencies标签,需要先手动添加再进行依赖导入

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.4</version>
</dependency>
<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-typehandlers-jsr310</artifactId>
            <version>1.0.1</version>
</dependency>

然后导入mysql的相关依赖,此处mysql依赖版本采用5.1.48

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.48</version>
</dependency>

此时pom.xml基本配置完毕,接下来对mybatis的配置文件进行配置,在进行初次配置之前,我们可以进入idea设置

找到编辑器——File and Code Templates 点击+号,在右边的框中进行mybatis的配置文件模板书写

在这里插入图片描述

模板如下:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE configuration  PUBLIC	"-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>
	<settings>
		<setting name="logImpl" value="STDOUT_LOGGING" />
	</settings>

	<typeAliases>
		
	</typeAliases>


   <environments default="dev">  

        <environment id="dev">  

            <transactionManager type="JDBC"></transactionManager>  

            <dataSource type="POOLED">  
                <!--此处书写数据库的信息-->
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:12345/mydata?characterEncoding=utf-8&amp;allowMultiQueries=true"/>
				<property name="username" value="root"/>
				<property name="password" value="1122"/>
            </dataSource>  

        </environment>  

    </environments>  
	
	<mappers>
		
	</mappers>
</configuration>  

创建模板完毕后,在resource文件夹中创建mybatis-configuration文件

在这里插入图片描述

新建数据库与数据

/*
Navicat MySQL Data Transfer

Source Server         : mysql1
Source Server Version : 50651
Source Host           : localhost:12345
Source Database       : mydata

Target Server Type    : MYSQL
Target Server Version : 50651
File Encoding         : 65001

Date: 2021-07-04 11:57:51
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for t_employee
-- ----------------------------
DROP TABLE IF EXISTS `t_employee`;
CREATE TABLE `t_employee` (
  `pk_employeeId` int(11) NOT NULL AUTO_INCREMENT,
  `e_name` varchar(255) DEFAULT NULL,
  `e_job` varchar(255) DEFAULT NULL,
  `e_money` int(11) DEFAULT NULL,
  `e_birthday` date DEFAULT NULL,
  `e_statue` enum('在职','离职') DEFAULT '在职',
  PRIMARY KEY (`pk_employeeId`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of t_employee
-- ----------------------------
INSERT INTO `t_employee` VALUES ('1', '测试员工1', '扫地僧', '300', '1990-01-01', '在职');
INSERT INTO `t_employee` VALUES ('2', '测试员工2', '职员', '1000', '1992-01-02', '在职');
INSERT INTO `t_employee` VALUES ('3', '张三', '监理', '9020', '1898-03-02', '在职');
INSERT INTO `t_employee` VALUES ('4', '李四', '经理', '8920', '1982-04-05', '离职');
INSERT INTO `t_employee` VALUES ('5', '王五', '副经理', '8000', '1972-02-22', '在职');
INSERT INTO `t_employee` VALUES ('6', '赵六', '副总经理', '90000', '1980-07-01', '在职');
INSERT INTO `t_employee` VALUES ('7', '刘七', '总经理', '90909', '1993-12-31', '在职');
INSERT INTO `t_employee` VALUES ('9', 'aaaa2', 'rua222', '1000', '1989-01-01', '在职');

src/main/java文件夹中进行bean包实体类的编写

public class EmployeeBean {
    private Integer id;
    private String name;
    private String job;
    private Integer money;
    private LocalDate birthday;
    private String statue = "在职";

    public EmployeeBean() {
    }

    public EmployeeBean(String name, String job, Integer money, LocalDate birthday) {
        this.name = name;
        this.job = job;
        this.money = money;
        this.birthday = birthday;
    }

    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 getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public Integer getMoney() {
        return money;
    }

    public void setMoney(Integer money) {
        this.money = money;
    }

    public LocalDate getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDate birthday) {
        this.birthday = birthday;
    }

    public String getStatue() {
        return statue;
    }

    public void setStatue(String statue) {
        this.statue = statue;
    }

    @Override
    public String toString() {
        return "EmployeeBean{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", job='" + job + '\'' +
                ", money=" + money +
                ", birthday=" + birthday +
                ", statue='" + statue + '\'' +
                '}' + "\n";
    }
}

新建mapper包(DAO层),在mapper包中书写对应的mapper接口

 /**
     * 添加方法
     *
     * @param employeeBean
     */
    void add(EmployeeBean employeeBean);

    /**
     * 删除方法
     *
     * @param id
     */
    void del(int id);

    /**
     * 按id进行职位和工资的修改
     *
     * @param id
     * @param job(别名为work)
     * @param money
     */
    void alt(@Param("id") int id, @Param("work") String job, @Param("money") int money);

    /**
     * 添加员工
     *
     * @param employeeBean 员工对象
     * @return 员工id
     */
    Integer addEmp(EmployeeBean employeeBean);

创建好接口后,进行mapper文件的配置,此文件是mybatis的SQL映射文件,也是核心文件之一,和配置mybatis-configuartion的配置类似,为了方便以后进行重复利用,找到编辑器——File and Code Templates 点击+号,在右边的框中进行mapper的配置文件模板书写

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的-->
<mapper namespace="">
    <!--
       根据 id 查询 user 表中的数据
       id:唯一标识符,此文件中的id值不能重复,简单来说,就是DAO层中的方法名
       resultType:返回值类型,一条数据库记录也就对应实体类的一个对象,注意现在要跟上全名(包名+类名)
       parameterType:参数类型,也就是查询条件的类型
       #{}表示一个占位符即?,在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。
     -->
</mapper>

有了这个配置文件,至少之前原始JDBC中经常出现的Connection,PreparedStatement,ResultSet这些接口不需要你再创建了,当书写好正确的mapper映射实体bean路径后,如果idea安装有mybatisx插件,会出现mybatis的经典Logo,你可以点击小鸟图标快速跳转至映射的实体bean中或从实体bean中快速跳转至mapper文件

在这里插入图片描述

如果安装有mybatisx,现在回到IEmployeeMapper,会发现刚刚书写的接口方法下有报红线,此时可以使用alt+enter调出快捷操作,mybatisx将根据你在接口所书写的方法书写至mapper配置文件中

在这里插入图片描述

在这里插入图片描述
需要注意的是,如果命名没有相关操作的关键词,mybatisx会让你选择当前的操作是生成什么形式的SQL语句标签
在这里插入图片描述

在mapper中生成标签完毕后,就可以进行相关SQL语句的书写了,需要注意的是,标签中的id对应了你在接口中的方法名

在这里插入图片描述

在进行mapper文件的基本内容填充后,我们需要去mybatis-configuration文件中去进行mapper文件的注册,新建一个<mappers>标签,并将你的mapper文件带地址添加进去

 <mappers>
        <!--要读取的mapper文件地址-->
        <mapper resource="mapper/EmployeeMapper.xml"/>
  </mappers>

至此,基本的maven+mybatis文件配置基本结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值