MyBatis快速入门——第一章、idea的maven配置与demo实例

举报
红目香薰 发表于 2022/05/27 15:23:38 2022/05/27
【摘要】 MyBatis快速入门——第一章、idea的maven配置与demo实例

 编辑

MyBatis快速入门——第一章、idea的maven配置与demo实例

目录

MyBatis快速入门——第一章、idea的maven配置与demo实例

1、环境要求:

2、maven引入

pom.xml

mybatis-config.xml头部

mybatis-config.xml正文

modelMapper.xml头部

modelMapper.xml正文

 log4j.properties配置

3、创建测试数据库【mytest】

4、创建项目层级

5、编辑代码

【Users实体类】

【action测试类】

执行成功:


1、环境要求:

1、idea,这里用的版本是:IntelliJ IDEA 2020.1.3 x64

2、mysql,这里的版本5.6版本

3、maven,3.8.x

2、maven引入

pom.xml

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.10</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
    </dependencies>

mybatis-config.xml头部

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

mybatis-config.xml正文

<configuration>
    <!-- 加载log4j -->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    <!-- 配置匿名包 -->
    <typeAliases>
        <package name="com.item.model"></package>
    </typeAliases>
    <!-- 数据库配置 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql://localhost:3306/mytest?characterEncoding=utf-8"></property>
                <property name="username" value="root"></property>
                <property name="password" value="12345678"></property>
            </dataSource>
        </environment>
    </environments>
    <!-- 引入配置文件列表 -->
    <mappers>
        <mapper resource="com/item/mapper/UsersMapper.xml"></mapper>
    </mappers>
</configuration>

modelMapper.xml头部

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

modelMapper.xml正文

<mapper namespace="com.item.model.Users">
    <select id="GetInfo" resultType="Users">
        select * from users
    </select>
</mapper>

 log4j.properties配置

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

3、创建测试数据库【mytest】

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`  (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `createDate` datetime(0) NOT NULL,
  `nickName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `sex` int(1) NOT NULL,
  `age` int(3) NOT NULL,
  `introduce` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci;

INSERT INTO `users` VALUES (1, '2022-05-08 20:52:07', '王语嫣', 0, 16, '燕子坞学霸');
INSERT INTO `users` VALUES (2, '2022-05-08 22:06:24', '赵灵儿', 0, 15, '女娲传人');
INSERT INTO `users` VALUES (3, '2022-05-08 22:06:59', '龙姑娘', 0, 18, '冰山美人');

编辑

4、创建项目层级

com.item.model下创建数据库对应的模型类

com.item.action下创建测试类

resources下创建【com.item.mapper/UsersMapper.xml】、【log4j.properties】、【mybatis-config.xml】并根据前三个目录内容编写对应配置文件。

编辑

5、编辑代码

【Users实体类】

package com.item.model;

import java.util.Date;

public class Users {
    private int id;
    private Date createDate;
    private String nickName;
    private int sex;
    private int age;
    private String introduce;

    public int getId() {
        return id;
    }

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

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public int getSex() {
        return sex;
    }

    public void setSex(int sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

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

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", createDate=" + createDate +
                ", nickName='" + nickName + '\'' +
                ", sex=" + sex +
                ", age=" + age +
                ", introduce='" + introduce + '\'' +
                '}';
    }
}

【action测试类】

package com.item.action;

import com.item.model.Users;
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.Reader;
import java.util.List;

public class Action {
    public static void main(String[] args) throws IOException {
        Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        SqlSession sqlSession = sessionFactory.openSession();
        List<Users> lists = sqlSession.selectList("GetInfo");
        //输出
        System.out.println(lists);
        sqlSession.close();
    }

}

执行成功:

可以看到log4j的日志与对应的数据输出

编辑


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。