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. HTTPS&SPDY&HTTP2&QUIC&HTTP3

    HTTPS 密钥交换,加密和解密 SPDY&HTTP2 QUIC&HTTP3

  2. cloudflare认识2(picgo结合使用)

    参考:https://zhuanlan.zhihu.com/p/658058503 https://blog.csdn.net/CCCChris001122/article/details/13585 ...

  3. #zkw线段树#洛谷 3792 由乃与大母神原型和偶像崇拜

    题目 给你一个长为 \(n\) 的序列 \(a\) 每次两个操作: 修改 \(x\) 位置的值为 \(y\) 查询区间 \([l,r]\) 是否可以重排为值域上连续的一段 分析 直接维护区间最大值和最 ...

  4. IDEA 各个版本下载指引

    1.IDEA 其它版本下载指引 网址: https://www.jetbrains.com.cn/idea/download/other.html 2.下载问题 下载哪个版本? win + R 打开命 ...

  5. 如何在macOS上安装Python3并设置本地编程环境

    介绍 Python是一种多功能编程语言,可用于许多不同的编程项目.1991年首次出版,其名称灵感来自英国喜剧组织Monty Python,开发团队希望使Python成为一种有趣的语言.易于设置,并以相 ...

  6. docker 应用篇————mysql容器[十二]

    前言 简单介绍一下mysql容器. 正文 这里简单介绍一下mysql的容器. hub.docker.io给了我们一个启动的示例. docker run --name some-mysql -e MYS ...

  7. CPVT:美团提出动态位置编码,让ViT的输入更灵活 | ICLR 2023

    论文提出了一种新的ViT位置编码CPE,基于每个token的局部邻域信息动态地生成对应位置编码.CPE由卷积实现,使得模型融合CNN和Transfomer的优点,不仅可以处理较长的输入序列,也可以在视 ...

  8. nethttp和gin 路由

    net/http 路由注册 func test1() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Requ ...

  9. 力扣27(java&python)-移除元素(简单)

    题目: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入 ...

  10. 3千字带你搞懂XXL-JOB任务调度平台

    思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 一.概述 在平时的业务场景中,经常有一些场景需要使用定时任 ...