Mybatis快速入门及遇到的问题(不支持发行版本)(黑马程序员Javaweb)

目录

快速入门:

1.创建一个Maven项目

2.在pom.xml文件中加入mybatis依赖、mysql驱动、junit单元测试坐标、添加slf4j日志api、添加logback-classic依赖、添加logback-core依赖

3.在sre/main下创建resources文件夹,创建mybatis-config.xml,该文件主要用来配置数据库连接信息。代码可从官网中复制粘贴即可

4.在resources下创建logback.xml日志文件

5.在resources下创建xxxMapper.xml文件。(此处以UserMapper.xml为例)     该文件为映射的sql语句

到此,resources配置文件完成 

6.在src/main/java下创建com.itheima.poji.User的java类

7.创建测试函数。在src/main/java下创建com.itheima.MyBatisDemo的java类

8.1常见错误:不支持发行版本5


官方帮助文档:入门_MyBatis中文网

快速入门:

准备工作:mysql数据库      本篇文章数据库为mybatis,student表

1.创建一个Maven项目

2.在pom.xml文件<dependency>中加入mybatis依赖、mysql驱动、junit单元测试坐标、添加slf4j日志api、添加logback-classic依赖、添加logback-core依赖

   <dependencies>
        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--junit单元测试坐标-->
        <dependency>
            <groupId>junit </groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!--添加slf4j日志api-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.20</version>
        </dependency>
        <!--添加logback-classic依赖-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!--添加logback-core依赖-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>

3.在sre/main下创建resources文件夹,创建mybatis-config.xml,该文件主要用来配置数据库连接信息。代码可从官网中复制粘贴即可

<?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>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

<property name="driver" value="${driver}"/>      将${drive}修改为注册驱动  即<property name="driver" value="com.mysql.jdbc.Drive"/> 

同理,其他的value值分别改为数据库链接,账号密码。

<mappers> 用来加载sql映射文件。如我们在第五步创建的sql映射文件为UserMapper.xml      那么此时就可修改为:    与下面的映射文件相对应

 <mappers>
        <!--加载sql映射文件-->
        <mapper resource="UserMapper.xml"/>
    </mappers>

4.在resources下创建logback.xml日志文件

<configuration>
    <!--
            CONSOLE :表示当前的日志信息是可以输出到控制台的。
         -->
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n</pattern>
        </encoder>
    </appender>
    <logger name="com.itheima" level="DEBUG" additivity="false">
        <appender-ref ref="Console"/>
    </logger>
    <!--

          level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF
         , 默认debug
          <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
           -->
    <root level="DEBUG">
        <appender-ref ref="Console"/>
    </root>
</configuration>

5.在resources下创建xxxMapper.xml文件。(此处以UserMapper.xml为例)     该文件为映射的sql语句

官方内容为

<?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="test">
  <select id="selectAll" resultType="com.itheima.pojo.User">
    select * from Blog where id = #{id}
  </select>
</mapper>

其中namespace为名称空间,我们此时将namespace改为test     (namespace是自己可以修改的)

在<mapper>中书写sql语句   

id为该sql语句的唯一标识   

resultType为返回的值为什么类型,因为我们需要返回的是一个数据库查询结果,所以此处的值应该与常见的javabena类名字对应,我们在第六步创建的为User.java 因此我们此处应为com.itheima.poji.User

到此,resources配置文件完成

6.在src/main/java下创建com.itheima.poji.User的java类

书写一个对应数据库的完整javabena类,get.set.tostring方法。例如:

package com.itheima.pojo;

public class User {
    private int id;
    private String name;
    private String email;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int 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 int getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                '}';
    }
}

7.创建测试函数。在src/main/java下创建com.itheima.MyBatisDemo的java类

参考官方文档

package com.itheima;

import com.itheima.pojo.User;
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;
import java.util.List;

//Mybatis快速入门代码
public class MyBatisDemo {
    public static void main(String[] args) throws IOException {

        //1.加载mybatis的核心配置文件,获取SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2.获取SqlSession对象,用它来执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //3.执行sql语句
        List<User> users = sqlSession.selectList("com.itheima.mapper.UserMapper.selectAll");

        System.out.println(users);

        //4.释放资源
        sqlSession.close();
    }
}

在第二步:String resource = "mybatis-config.xml";   值为我们设置的mybatis配置文件的名字

在第三步:执行sql语句中List<User> users = sqlSession.selectList("test.selectAll");   

                  此时括号内的值应该是我们在配置UserMapper.xml时namespace.id

                  我们在配置UserMapper.xml时namespace的值为test,id值为selectAll。

                  因此括号内的值为test.selectAll

运行即可连接数据库获得数据

8.1常见错误:不支持发行版本5

解决方法:我的jdk版本为11.因此全部选为11

 

 

 

全部设置为安装的jdk即可

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两年半的个人练习生^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值