mybatis入门教程之搭建一个简单的mybatis项目并启动它
一、准备条件:
1.依赖jar包:mybatis核心包(必须)、lombok插件包(非必须)以及MySQL数据库连接驱动包(必须)
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency> <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
2.jdk1.8及以上
3.其他
二、配置启动mybatis项目
1.核心配置文件(请放到项目的classpath路径下):
<?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> <!--属性-->
<properties>
<!--数据库连接属性-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/xiao"/>
<property name="username" value=""/>
<property name="password" value=""/>
</properties> <!--环境配置信息-->
<environments default="development">
<environment id="development">
<!--事务管理,采用JDBC事务-->
<transactionManager type="JDBC"/> <!--dataSource连接管理,采用需要连接池的链接-->
<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="UserMapper.xml"/>
</mappers>
</configuration>
2.启动。使用mybatis的核心代码就是操作一个SqlSession对象,对数据库进行增删改查操作,那么一个SqlSession对象是如何生成的呢?先读取核心配置文件(参考上面),然后用工厂模式创建。
//使用xml文件来加载mybatis启动项
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try (SqlSession sqlSession = sqlSessionFactory.openSession()) { }
3.映射。将对数据库表的操作,放入一个xml配置文件中,并在mybatis-config文件中引入。并且将每一个配置文件都与一个类一一对应。
在mybatis-config中引入映射文件
<!--映射配置文件-->
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
具体的映射配置文件:注意,namespace(命名空间)一定与具体的Java类的全路径保持一致,这样mybatis在加载的时候,会自动将xml文件与对应的Java类绑定。在老版本的mybatis中,只需要配置文件便可以访问sql,但是需要用string类型的id和配置文件的进行匹配
这样就可能在编码过程中出现错误。现在将配置文件与一个具体的类接口绑定之后,就不会出错。
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lv.bean.UserBeanMapper">
<resultMap id="UserMap" type="com.lv.bean.UserBean">
<id property="id" column="uid"/>
<result property="user_name" column="userName"/>
<result property="user_password" column="userPassword"/>
<result property="createTime" column="createTime"/>
<result property="updateTime" column="updateTime"/>
</resultMap> <!-- 可以将sql语句独立出来,然后引用 -->
<sql id="selectMap">
u.username, u.address ,c.campany_name
</sql> <!-- 根据id查询用户 -->
<select id="getUserInfo" parameterType="int" resultType="com.lv.bean.UserBean">
SELECT * FROM user u WHERE u.uuid = #{uuid}
</select>
</mapper>
与上面的配置文件绑定的Java类(接口),其中方法名与上面的映射配置文件的id对应。
public interface UserBeanMapper {
public UserBean getUserInfo(int dd);
}
mybatis入门教程之搭建一个简单的mybatis项目并启动它的更多相关文章
- 搭建一个简单的mybatis框架
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- 带你搭建一个简单的mybatis项目:IDEA+spring+springMVC+mybatis+Mysql
最近小编有点闲,突发奇想想重温一下mybatis,然后在脑海中搜索了一下,纳尼,居然不太会用了,想到这里都是泪啊!!现在我所呆的的公司使用的是springboot+hebinate,编程都是使用的JP ...
- 使用 ADD-ON SDK 开发 基于 Html JQuery 和 CSS 的 firefox 插件入门教程1: 创建一个简单的 Add-on
[本文转载自http://sixpoint.me/942/implementing-simple-addon/] 实现一个简单的插件 教程的这个部分带你使用 SDK 来实现, 运行并打包一个插件. 这 ...
- 使用SSM搭建一个简单的crud项目
使用SSM完成增删查改 前端使用到的技术:ajax,json,bootstrap等 完整项目地址:点这里GitHub 项目地址,可以在线访问 这一章节主要搭建SSM的环境. SpringMVC Spr ...
- IntelliJ IDEA搭建一个简单的springboot项目
一.IDEA 安装包 百度网盘链接:https://pan.baidu.com/s/1MYgZaBVWXgy64KxnoeJSyg 提取码:7dh2 IDEA注册码获取:http://idea.lan ...
- 使用Intellij IDEA搭建一个简单的Maven项目
IntelliJ IDEA是Java最优秀的开发工具,它功能全面,提示比较智能,开发界面炫酷,新技术支持的比较迅速. 我使用了Eclipse快10年了,IntelliJ IDEA这么好用必须要试一试. ...
- 搭建一个简单的React项目
我是使用了create-react-app来搭建的基本框架,其中的原理和vue-cli差不多的脚手架.(当然也可以自己配置项目目录,这里我偷了一下懒) npm install -g create-re ...
- 2、搭建一个简单的Web项目
一.创建一个Web项目: 1.File->new Project->Java->JavaEE->Web Application 2.为项目起名: 3.配置项目:在项目上击右键- ...
- idea搭建一个简单的springboot项目
1.file->new->project 2.选中Spring Initializr 3.填写项目信息: 4.选中Web -> Spring Web
随机推荐
- 服务器ganglia安装(带有登录验证)
1.ganglia组件gmond相当于agent端,主要手机各node的性能状态:gmetad相当于server端,从gmond以poll的方式收集和存储原数据:ganglia-web相当于一个web ...
- mybaties 使用注解注入动态sql (if-else)-转义字符
看到网上使用注解动态注入sql都是判断参数是否为空,我做项目的时候需要判断参数是否为字符串,需要对引号进行转义,所以把代码贴过来了. 注意:test表达式不能引用传入的参数,直接使用参数即可----- ...
- [python学习手册-笔记]004.动态类型
004.动态类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...
- GC agent的安装和卸载
一.GC agent安装 下面介绍GC agent的push和pull两种安装方法 1.push(推送)安装GC agent方法 1).打开EMGC home page:https://even.or ...
- docker 添加Portainer容器图形化管理工具
主要参照了这边博客,但还是有些问题https://www.cnblogs.com/Bug-Hunter/p/12023130.html 比如端口9000得开启,docker端口映射得开启,得开启ip4 ...
- 图解Janusgraph系列-并发安全:锁机制(本地锁+分布式锁)分析
图解Janusgraph系列-并发安全:锁机制(本地锁+分布式锁)分析 大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步(超链):图数据 ...
- 全能扫描王(一款识别率超高的OCR识别APP)
前言 无论是在工作还是日常生活中,我们都会经常遇到,需要将一些纸质资料上的文字内容变成电子文档进行编辑.这个时候就需要拥有一款好用的手机扫描+OCR文字识别功能的应用了. 随着人工智能的兴起,我们都在 ...
- js上 四、数据类型转换
1. 转布尔类型 Boolean():可以将任意类型的数据转为布尔类型: 语法:Boolean(值) 规则:
- [小专题]另一种字符串匹配的思路——Shift-And算法
吐槽:前两天打组队赛遇到一个字符串的题考了这个(见:http://acm.hdu.edu.cn/showproblem.php?pid=5972 ) 当时写了个KMP瞎搞然后TLE了(害),赛后去查了 ...
- Flink任务暂停重启
查看正在进行的任务 ./flink list 取消job并保存状态 ./flink cancel -s jobid 重启job ./flink run -s savepointPath -c 主类 x ...