MyBatis项目创建
一、开发环境的准备
总览:
mybatis搭建过程:
1、导入jar
2、创建mybatis的核心(全局)配置文件mybatis-config.xml,并配置
3、创建映射文件XxxMapper.xml,并配置
4、创建mapper接口,实现两个绑定:
(1)接口全限定名要和映射文件的namespace保持一致
(2)接口中方法名和SQL语句的id保持一致
5、获取mybatis操作数据库的会话对象SqlSession,通过getMapper()获取接口的动态代理实现类
6、测试
详细过程:
0、STS选择Java视图,新建Java Project.
mysql-connector-java-5.1.37-bin.jar
log4j.jar

<?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"> <!--environments: 设置连接数据库的环境,default:设置默认使用的数据库环境-->
<environment id="development"> <!--environment: 设置某个具体的数据库环境,id:数据库环境的唯一标识-->
<transactionManager type="JDBC" /> <!--之后会采用Spring的事务管理,type:JDBC或者MANAGED,JDBC表示最原始的方式处理事务-->
<dataSource type="POOLED"> <!--之后会采用druid数据库连接池,此为数据源,POOLED|UNPOOLED|JNDI-->
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/ssm" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<mapper resource="UserMapper.xml" />
</mappers>
</configuration>
<!-- <properties>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties> --> <!--
<properties>:设置或引入资源文件
resource:在类路径下访问资源文件
url:在网络路径或磁盘路径下访问资源文件
-->
<properties resource="jdbc.properties"></properties> <!-- 将带下划线的变量转化为驼峰形式 user_Name -> userName -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings> <typeAliases>
<!--
为类型设置类型别名
type:Java 类型,若只设置type,默认的别名就是类型,且不区分大小写
-->
<!-- <typeAlias type="com.atguigu.bean.User" alias="u"/> -->
<package name="com.atguigu.bean"/>
</typeAliases>
2)Mybatis的xml配置文件中标签的顺序不能出错
Content Model : (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,
objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)
3)xml的提示功能:
-2)、配置:preference->xml->xmlCatalog-->add
(1)PUBLIC ID:-//mybatis.org//DTD Config 3.0//EN
(2)URI:http://mybatis.org/dtd/mybatis-3-config.dtd
4、创建mapper接口,实现两个绑定:
(1)接口全限定名要和映射文件的namespace保持一致
(2)接口中方法名和SQL语句的id保持一致
package com.atguigu.mapper;
import com.atguigu.bean.User;
public interface UserMapper {
User getUserByUid(String uid);
}
<?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="com.atguigu.mapper.UserMapper"> <!--
<select>:定义查询语句
id:设置SQL语句的唯一标示
resultType:结果类型,即实体类的全限定名
-->
<select id="getUserByUid" resultType="com.atguigu.bean.User">
select uid,user_name,password,age,sex from user where uid = ${value}
</select> </mapper>
5、获取mybatis操作数据库的会话对象SqlSession,通过getMapper()获取接口的动态代理实现类
package com.atguigu.mapper; import static org.junit.Assert.*; import java.io.IOException;
import java.io.InputStream; 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 com.atguigu.bean.User; public class TestMybatis { @Test
public void test() throws IOException { InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = sqlSessionFactory.openSession();
//getMapper():会通过动态代理动态生成UserMapper的代理实现类
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
System.out.println(mapper.getClass().getName());
User user = mapper.getUserByUid("1");
System.out.println(user);
//user_name ---> userName
} }
6、测试

MyBatis项目创建的更多相关文章
- MyBatis学习笔记(一)创建第一个MyBatis项目
一.新建Maven项目 http://www.mybatis.org/mybatis-3/zh/index.html 该链接为MyBatis官方地址 创建MyBatis项目主要有两种办法,一种是导入j ...
- 通过IntelliJ IDEA创建maven+springmvc+mybatis项目
第一个springmvc+mybatis项目,通过学习极客学院视频(视频案例通过eclipse搭建,网址为http://www.jikexueyuan.com/course/1430.html),发现 ...
- springboot整合mybatis增删改查(一):项目创建
新建 打开 IDEA 工具,通过 File -> New -> Project->Spring Initializr 主要步骤包括: 选择 Spring Initializr 项目 ...
- IDEA中maven搭建Spring+SpringMVC+mybatis项目
一.介绍 使用IDEA搭建maven web项目,整合框架Spring+SpringMVC+mybatis 项目结构图:
- ssm框架整合+maven项目创建
在引入外部maven插件后就可以创建一个maven项目了,这篇文章主要介绍ssm框架的整合和如何创建一个maven项目 1.在开发工具的项目空白区单击右键,依次选择New.Other,会出现如下界面, ...
- 用 Eclipse 搭建一个简单的 Maven spring mybatis 项目(包含测试用例)
1: 先搭建一个Maven项目: 创建好后的目录: 2: 配置pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0& ...
- springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试
包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml <?xml version=" ...
- MyBatis动态创建表
转载请注明出处:https://www.cnblogs.com/Joanna-Yan/p/9187538.html 项目中业务需求的不同,有时候我们需要动态操作数据表(如:动态建表.操作表字段等).常 ...
- MyBatis项目快速搭建及MySQL一个Statement支持多条命令参数
一.简述 本文以笔记的形式,记录一个基本Mybatis项目的使用,方便后期项目使用到相关配置时直接复制使用. 二.项目结构 pom.xml中的依赖 <!-- https://mvnreposit ...
随机推荐
- JVM垃圾回收篇
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 基础概念 GC=jvm垃圾回收,垃圾回收机制是由垃圾回收器Garbage ...
- 使用Visual Studio 2022开发前端
前端开发环境多数基于Node.js,好处不多说了.但与使用Visual Studio开发的后端Asp.Net Core项目一起调试,却不是很方便,所以试着在Visual Studio 2022中开发前 ...
- learnByWork
2019.5.5(移动端页面) 1.页面的整体框架大小min-width: 300px~max-width: 560px: 2.具体大小单位用px: 3.网页布局用div不是table,在特殊情况,如 ...
- ajax、axios、fetch
XMLHttpRequest: XHR中文解释为: 可扩展超文本传输请求:XML可扩展标记语言,Http超文本传输协议,Request请求: XHR对象用于与服务器交换数据,所有现代游览器都支持XHR ...
- 如何使用Python实现图像融合及加法运算?
摘要:本篇文章主要讲解Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合.图像加法运算.图像类型转换. 本文分享自华为云社区<[Python图像处理] 五.图像融合.加 ...
- 【算法】希尔排序(Shell Sort)(四)
希尔排序(Shell Sort) 1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版.它与插入排序的不同之处在于,它会优先比较距离较远的元素.希尔排序又叫缩小增量排序. ...
- 网络:Tor
洋葱路由催生了暗网的产生 1995年,美国海军研究实验室的科学家开始开发一套匿名系统,可以避免人们在互联网上的行迹被追 踪到.由于在该系统中,数据被层层密码保护,这个技术被称为叫作"洋葱路由 ...
- 【Java面试】如何理解Spring Boot中的Starter?
一个工作了3年的Java程序员,遇到一个Spring Boot的问题. 他对这个问题有一些了解,但是回答得不是很好,希望参考我的高手回答. 这个问题是:"如何理解Spring Boot中的S ...
- CoaXPress 是如何只用一条线缆实现双向传输和供电的
这是个很有意思的事情,CoaXPress的全双工双向数据传输.且供电只需要一条同轴线缆,这个原理对其它串行接口的设计是非常有参考价值的,尤其是对线缆长度.数量有严格要求的场合,一条同轴线缆走天下,不要 ...
- 声学感知刻度(mel scale、Bark scale、ERB)与声学特征提取(MFCC、BFCC、GFCC)
梅尔刻度 梅尔刻度(Mel scale)是一种由听众判断不同频率 音高(pitch)彼此相等的感知刻度,表示人耳对等距音高(pitch)变化的感知.mel 刻度和正常频率(Hz)之间的参考点是将1 k ...