资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

MyBatis第一章 搭建MyBatis的运行环境

Java 更新时间: 发布时间: 计算机考试归档 最新发布

MyBatis第一章 搭建MyBatis的运行环境

这里写自定义目录标题

  • 一 创建Maven工程
    • 1 打包方式设置为jar
    • 2 引入依赖进去
  • 二 创建MyBatis的核心配置文件
    • 1 配置核心文件
    • 2 创建mapper接口
    • 3 创建mabatis的映射文件
    • 4 测试文件的写法
    • 5 需要代码可以访问gitee仓库去看看
    • 6 log4j的日志功能
  • 三 先改方法,后改映射文件
    • 1 Test注解的作用
    • 2 增加修改用户信息的测试代码
    • 3 查找用户信息的代码
    • 4 RESULT
  • 四 添加properties的具体步骤
    • 1 基本特征
    • 2 传统获取数据库链接的方式
    • 3 mybatis中获取数据库接口的方式
  • 五 设置类别别名
    • 1 核心配置文件
    • 2 在核心文件中引入一个配置文件

结构图

一 创建Maven工程

1 打包方式设置为jar

2 引入依赖进去

二 创建MyBatis的核心配置文件

框架就是jar包加上配置文件
核心配置文件习惯上命名为
mybatis-config.xml
整合Spring框架后,这个配置文件可以省略

1 配置核心文件

                                                                                                                                                     

注意:核心文件中可能会报一个字符集设置的错误

Unknown initial character set index '255' received from server. Initial client character

解决的话,就在后面加上一个中加入一个字符设置

dbc:mysql://localhost:3306/eshop?useUnicode=true&characterEncoding=utf8

2 创建mapper接口

MyBatis中的mapper接口相当于以前的dao。但是区别在于,mapper仅仅是接口,我们不需要提供实现类。

package com.xyt.mabatis.mapper;public interface UserMapper {    int insertUser();}

3 创建mabatis的映射文件

Object Relational Mapping

ORM:对象关系映射
对象:java的实体类对象
关系:关系型数据库
映射:两者之间对应的关系

类的实例化对象,描述的是一个具体的事务。表中的一行记录

                insert into t_user values (1,'张三','123',22,'男','1234567@qq.com')    

注意:这个字段名,一定要和数据库里的字段名对应上

4 测试文件的写法

package com.xyt.mybatis.test;import com.xyt.mybatis.mapper.UserMapper;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.Test;import java.io.IOException;import java.io.InputStream;import java.util.List;public class MabitsTest1 {        @Test    public void testMyBatis() throws IOException {        //加载核心配置文件        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");        //获取SqlSessionFactoryBuilder        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();        //获取sqlSessionFactory        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);        //获取SqlSession        SqlSession sqlSession = sqlSessionFactory.openSession(true);        //获取mapper接口对象        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        //测试功能        int result = mapper.insertUser();        //提交事务        sqlSession.commit();        System.out.println("result:"+result);    }}

执行两次,数据库里面就多了两条数据

5 需要代码可以访问gitee仓库去看看

https://gitee.com/wang-sanfeng123/MyBatisTest

6 log4j的日志功能

在子pom中配置这个log4j文件

   log4j  log4j  1.2.7  

log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下

                                                                                                     

日志·的级别
FATAL(致命)>ERROR(错误)>WARN(警告)>INFO(信息)>DEBUG(调试)
从左到右打印的内容越来越详
在配置日志相关文件时
如果报错,就填写相关信息进去


日志运行后,生成的信息如下图所示

DEBUG 05-14 21:53:09,963 ==>  Preparing: insert into t_user values (6,'张三','123',22,'男','1234567@qq.com') (BaseJdbcLogger.java:137) DEBUG 05-14 21:53:09,986 ==> Parameters:  (BaseJdbcLogger.java:137) DEBUG 05-14 21:53:09,998 <==    Updates: 1 (BaseJdbcLogger.java:137) result:1

体现了执行得sql语句,和受影响的行数

三 先改方法,后改映射文件

1 Test注解的作用

@Test注解是JUnit测试的基础,JUnit 4的优势就在于支持了注解。@Test的使用 是该方法可以不用main方法调用就可以测试出运行结果,是一种测试方法,一般函数都需要有main方法调用才能执行,注意被测试的方法必须是public修饰的。

2 增加修改用户信息的测试代码

public  void  testUpdate() throws IOException{        InputStream inputStream=Resources.getResourceAsStream("mybatis-config.xml");        SqlSessionFactory sqlSessionFactory                =new SqlSessionFactoryBuilder().build(inputStream);        SqlSession sqlSession =sqlSessionFactory.openSession(true);        UserMapper mapper=sqlSession.getMapper(UserMapper.class);        mapper.deleteUser();    }
DEBUG 05-14 23:07:28,488 ==>  Preparing: DELETE from t_user where username='lisi'; (BaseJdbcLogger.java:137) DEBUG 05-14 23:07:28,524 ==> Parameters:  (BaseJdbcLogger.java:137) DEBUG 05-14 23:07:28,546 <==    Updates: 1 (BaseJdbcLogger.java:137) 

3 查找用户信息的代码


resultType:数据库字段和属性的个数一样

java.lang.NoSuchMethodError: 'boolean org.apache.log4j.Logger.isTraceEnabled()

             log4j            log4j            1.2.14        

结果

DEBUG 05-15 01:24:01,095 ==>  Preparing: select * from t_user where id=6; (BaseJdbcLogger.java:137) DEBUG 05-15 01:24:01,136 ==> Parameters:  (BaseJdbcLogger.java:137) DEBUG 05-15 01:24:01,173 <==      Total: 1 (BaseJdbcLogger.java:137) User{id=6, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}

4 RESULT

DEBUG 05-15 01:33:26,591 ==>  Preparing: select * from t_user where id=6; (BaseJdbcLogger.java:137) DEBUG 05-15 01:33:26,626 ==> Parameters:  (BaseJdbcLogger.java:137) DEBUG 05-15 01:33:26,650 <==      Total: 1 (BaseJdbcLogger.java:137) User{id=6, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}DEBUG 05-15 01:33:26,652 ==>  Preparing: select * from t_user; (BaseJdbcLogger.java:137) DEBUG 05-15 01:33:26,653 ==> Parameters:  (BaseJdbcLogger.java:137) DEBUG 05-15 01:33:26,659 <==      Total: 8 (BaseJdbcLogger.java:137) User{id=1, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=2, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=4, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=6, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=7, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=8, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=9, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}User{id=10, username='张三', password='123', age=22, sex='男', email='1234567@qq.com'}

四 添加properties的具体步骤

1 基本特征

  • jdbc.properties是一个Java属性文件,用于配置Java数据库连接(JDBC)驱动程序的属性,例如数据库连接URL、用户名、密码、驱动程序类名等。
  • 这些属性是在Java应用程序中读取的,以便连接到数据库并执行数据库操作。JDBC属性文件通常是在Java Web应用程序或桌面应用程序中使用的,可以更方便地配置数据库连接信息,而不需要在代码中硬编码这些信息。

2 传统获取数据库链接的方式

jdbc.properties配置mysql8.的步骤如下:在项目中创建jdbc.properties文件。在jdbc.properties文件中添加以下配置:jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8jdbc.username=用户名jdbc.password=密码其中,jdbc.driver为MySQL驱动程序的类名,jdbc.url为连接MySQL数据库的URL,jdbc.username为连接MySQL数据库的用户名,jdbc.password为连接MySQL数据库的密码。将MySQL的驱动程序(mysql-connector-java.jar)放置在项目的classpath中。在Java代码中使用以下代码获取数据库连接:Properties props = new Properties();InputStream in = getClass().getResourceAsStream("/jdbc.properties");props.load(in);in.close();String driver = props.getProperty("jdbc.driver");String url = props.getProperty("jdbc.url");String username = props.getProperty("jdbc.username");String password = props.getProperty("jdbc.password");Class.forName(driver);Connection conn = DriverManager.getConnection(url, username, password);其中,getClass().getResourceAsStream("/jdbc.properties")用于获取jdbc.properties文件的输入流,props.load(in)用于加载jdbc.properties文件中的配置。最后,使用DriverManager.getConnection()方法获取数据库连接。

3 mybatis中获取数据库接口的方式

MyBatis 中的 jdbc.properties 文件是一个配置文件,用于配置 MyBatis 的数据源和 JDBC 连接属性。该文件通常包含以下属性:

driver:JDBC 驱动程序的名称或类名。
url:JDBC 数据库连接 URL。
username:数据库用户名。
password:数据库密码。
initialSize:连接池的初始大小。
maxActive:连接池的最大活动连接数。
maxIdle:连接池的最大空闲连接数。
minIdle:连接池的最小空闲连接数。
在使用 MyBatis 进行数据库访问时,可以通过读取 jdbc.properties 文件中的这些属性来配置 MyBatis 的数据源和 JDBC 连接属性。

五 设置类别别名

1 核心配置文件

mybatis-config.xml中加入一些信息
type:需要简化描述的目标
alias如果不设置,默认是类名,如果设置,那么就是一个其自己定义的值

                 

意义是在UserMapper.xml中少写一些东西

        select * from t_user;    

2 在核心文件中引入一个配置文件

                                 

修改核心文件位置在resource位置下的路径

com.xyt,mybatis,mapper目录下的文件

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1094753.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【MyBatis第一章 搭建MyBatis的运行环境】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2