MyBatis介绍: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录[官网可点击http://www.mybatis.org/generator/index.html]

1.导入jar包:

【mybatis】
mybatis-3.2.2.jar
【MYSQL 驱动包】
mysql-connector-java-5.1.47.jar
【log4j 日志文件jar包】
mysql-connector-java-5.1.47.jar
准备好以上jar包之后,导入jar包到工程中,其中在 src 下加入 log4j 的配置文件,是为了打印日志信息

2 添加 Mybatis 的配置文件 conf.xml,以及优化操作
 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
3 "http://mybatis.org/dtd/mybatis-3-config.dtd">
4 <!-- 数据源的信息:数据库的信息。 -->
5 <configuration>
6 <properties resource="db.properties"/>
7 <environments default="development">
8 <environment id="development">
9 <transactionManager type="JDBC" />
10 <dataSource type="POOLED">
11 <property name="driver" value="${jdbc.driver}" />
12 <property name="url" value="${jdbc.url}" />
13 <property name="username" value="${jdbc.username}" />
14 <property name="password" value="${jdbc.password}" />
15 </dataSource>
16 </environment>
17 </environments>
18 <mappers>
19 <mapper resource="com/zhiyou100/zhl/dao/UsersMapper.xml"/>
20 </mappers>
21 </configuration>
对于此conf.xml中的四个属性,即数据库的配置,可以放到xx.properties文件中进行优化,以后类似的地方可以采取同种方式进行优化

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root

日志文件属性优化

 1 log4j.properties,
2 log4j.rootLogger=DEBUG, Console
3 #Console
4 log4j.appender.Console=org.apache.log4j.ConsoleAppender
5 log4j.appender.Console.layout=org.apache.log4j.PatternLayout
6 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
7 log4j.logger.java.sql.ResultSet=INFO
8 log4j.logger.org.apache=INFO
9 log4j.logger.java.sql.Connection=DEBUG
10 log4j.logger.java.sql.Statement=DEBUG
11 log4j.logger.java.sql.PreparedStatement=DEBUG
为实体类定义别名,简化 sql 映射 xml 文件中的引用(一般不建议使用,我们任然写全,方便与他人交流项目)
1 <typeAliases>
2 <typeAlias type="com.atguigu.ibatis.bean.User" alias="_User"/>
3 </typeAliases>

3.对users表进行crud操作

定义 sql 映射 xml 文件UsersMapper.xml

还有与数据库表对应的实体类bean包由自己创建即可

随后在conf.xml中注册这个映射文件

代码为

1 <mappers>
2 <mapper resource="com/zhiyou100/zhl/dao/UsersMapper.xml"/>
3 </mappers>

最后建立单元测试

至此一个免除jdbc的mybatis工程初步完成

Mybatis学习一(介绍/举例/优化)的更多相关文章

  1. mybatis学习笔记(三)-- 优化数据库连接配置

    原来直接把数据库连接配置信息写在conf.xml配置中,如下 <?xml version="1.0" encoding="UTF-8"?> < ...

  2. mybatis学习(三)----优化Mybatis配置文件中的配置

    一.把连接数据库的配置单独放在一个properties文件中 前面我们是把数据库的连接信息放在了mybatis-config.xml中,如下: <?xml version="1.0&q ...

  3. 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    [转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...

  4. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

  5. 在线学习和在线凸优化(online learning and online convex optimization)—基础介绍1

    开启一个在线学习和在线凸优化框架专题学习: 1.首先介绍在线学习的相关概念 在线学习是在一系列连续的回合(rounds)中进行的: 在回合,学习机(learner)被给一个question:(一个向量 ...

  6. Mybatis学习笔记(一) —— mybatis介绍

    一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  7. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  8. 一、mybatis的插件介绍

    摘自:https://www.cnblogs.com/qm-article/p/11785350.html mybatis的插件机制   一.mybatis的插件介绍 关于mybatis的插件,我想大 ...

  9. MyBatis学习(一)

    前言 再过一个月,转行做java web就满一年了.当初吸引我进入公司的,其实并不是java web,而是领导给我描述的hadoop生态圈.公司的hadoop集群以及大数据业务.可是进入公司后才发现, ...

  10. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

随机推荐

  1. KingbaseES V8R6集群运维案例之---访问系统表unrecognized token- false故障

    KingbaseES V8R6集群运维案例之---访问系统表'unrecognized token: "false"'故障 案例说明: KingbaseES V8R6集群在升级补丁 ...

  2. 【Java】快速排序

    代码: 1 public static void quickSort(int[] arr) { 2 if (arr == null || arr.length < 2) { 3 return; ...

  3. #博弈论#Poj 1740 A New Stone Game

    题目 两个人轮流操作,每次选择一个非空石堆后, 选择扔掉至少一个石子后可将剩余石子任意移动至其余非空石堆, 也可以不移,无石子可取者为败,问先手是否必胜 分析 感性理解一下,如果有两堆个数相同的石子, ...

  4. 浅谈OpenHarmony LiteOS-A内核之基础硬件——中断控制器GIC400

    一.前言 OpenAtom OpenHarmony(以下简称"OpenHarmony")采用多内核架构,支持Linux内核的标准系统.LiteOS-A的小型系统.LiteOS-M的 ...

  5. Python 布尔类型

    布尔值表示两个值之一:True(真)或False(假). 布尔值 在编程中,您经常需要知道一个表达式是否为True或False. 您可以在Python中评估任何表达式,并获得两个答案之一:True或F ...

  6. Lustre架构介绍的阅读笔记-HSM

    本文是在阅读Introduction to Lustre* Architecture的Lustre HSM System Architecture时的笔记. Hierarchical Storage ...

  7. 格式化字符串走过的坑 pwn109

    格式化字符串走过的坑 pwn109 今天做的一道题有一个坑我调试半天终于打通了,格式化字符串的坑,确实不少,东西也比较多容易忘记,怎么说呢,功夫在平时,经验少了 老规矩先看一下保护 Full RELR ...

  8. 聊聊ChatGLM3多用户并发API调用的问题

    转载请备注出处:https://www.cnblogs.com/zhiyong-ITNote 背景 目前在公司内部4张A10的GPU服务器上部署了ChatGLM3开源模型:然后部署了官方默认的web_ ...

  9. 并发系列64章(TPL 数据流(二))第八章

    前言 续第七章. 正文 数据流块的并行处理 数据流块在网格上本身就是并行的,为什么这么说呢? 加入有两个数据库,他们链接在一起,然后给他们post数据. 当数据流块一在运行的时候,数据流块二也在执行, ...

  10. huggingface vit训练CIFAR10数据集代码 ,可以改dataset训练自己的数据

    上代码,使用hugging face fineturn vit模型 自己写的代码 from transformers import ViTImageProcessor, ViTForImageClas ...