一、开发环境的准备

总览:

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.

  1、 导入MyBatis框架的jar包、Mysql驱动包、log4j的jar包
    myBatis-3.4.1.jar
    mysql-connector-java-5.1.37-bin.jar
    log4j.jar
  2、创建mybatis的核心(全局)配置文件mybatis-config.xml,并配置(如何连接数据库,直接由手册中复制粘贴)
<?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>
   1)对于properties和一些不常用的设置
<!-- <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的提示功能:

    -1)、联网
    -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
  3、创建映射文件XxxMapper.xml,并配置(如何操作数据库,写的是SQL语句,处理实体对象Xxx和表关系)
  4、创建mapper接口,实现两个绑定:
     (1)接口全限定名要和映射文件的namespace保持一致
     (2)接口中方法名和SQL语句的id保持一致
  例如:接口UserMapper,和映射文件UserMapper.xml(实现调用接口中的方法就执行相应的SQL语句,并得到返回值
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项目创建的更多相关文章

  1. MyBatis学习笔记(一)创建第一个MyBatis项目

    一.新建Maven项目 http://www.mybatis.org/mybatis-3/zh/index.html 该链接为MyBatis官方地址 创建MyBatis项目主要有两种办法,一种是导入j ...

  2. 通过IntelliJ IDEA创建maven+springmvc+mybatis项目

    第一个springmvc+mybatis项目,通过学习极客学院视频(视频案例通过eclipse搭建,网址为http://www.jikexueyuan.com/course/1430.html),发现 ...

  3. springboot整合mybatis增删改查(一):项目创建

    新建 打开 IDEA 工具,通过 File -> New -> Project->Spring Initializr 主要步骤包括: 选择 Spring Initializr 项目 ...

  4. IDEA中maven搭建Spring+SpringMVC+mybatis项目

    一.介绍 使用IDEA搭建maven web项目,整合框架Spring+SpringMVC+mybatis 项目结构图:

  5. ssm框架整合+maven项目创建

    在引入外部maven插件后就可以创建一个maven项目了,这篇文章主要介绍ssm框架的整合和如何创建一个maven项目 1.在开发工具的项目空白区单击右键,依次选择New.Other,会出现如下界面, ...

  6. 用 Eclipse 搭建一个简单的 Maven spring mybatis 项目(包含测试用例)

    1: 先搭建一个Maven项目: 创建好后的目录: 2: 配置pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0& ...

  7. springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试

    包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml <?xml version=" ...

  8. MyBatis动态创建表

    转载请注明出处:https://www.cnblogs.com/Joanna-Yan/p/9187538.html 项目中业务需求的不同,有时候我们需要动态操作数据表(如:动态建表.操作表字段等).常 ...

  9. MyBatis项目快速搭建及MySQL一个Statement支持多条命令参数

    一.简述 本文以笔记的形式,记录一个基本Mybatis项目的使用,方便后期项目使用到相关配置时直接复制使用. 二.项目结构 pom.xml中的依赖 <!-- https://mvnreposit ...

随机推荐

  1. css兼容问题集锦

    BEGIN; 1.文本框很大,导致里面的内容不居中.以及内容为数字时,不支持text-indent属性 解:line-height: K px; (值为文本框的height值). 2.文本框有背景图片 ...

  2. k8s入门之集群搭建(二)

    一.准备三台节点 从上篇文章 k8s入门之基础环境准备(一)安装的Ubuntu虚拟机克隆出三台虚拟机,如图所示 启动这三台虚拟机节点,分别做如下配置 虚拟机名称 IP HostName k8sMast ...

  3. python学习-Day19

    目录 今日内容详细 正则表达式 开端 概念及相关符号 正则表达式之字符组 正则表达式之特殊符号 正则表达式之量词 小试牛刀 实现手机号码校验功能 复杂正则的编写 校验用户身份证号码 校验邮箱.快递单号 ...

  4. c++:-2

    上节介绍C++的函数介绍:c++:-1,本节学习类与对象 类与对象 定义 类定义 class 类名称 { public: 公有成员(外部接口) private: 私有成员 protected: 保护型 ...

  5. Java 15 新特性:文本块

    大家好,我是DD,今天继续来学点Java的新特性! 假设有这样一个场景,我们需要做一个工具.用来自动生成项目文档,文档可以通过浏览器查看,所以最后产出物肯定是一堆html文件.为了让这些html文件更 ...

  6. netty系列之:使用Jboss Marshalling来序列化java对象

    目录 简介 添加JBoss Marshalling依赖 JBoss Marshalling的使用 总结 简介 在JAVA程序中经常会用到序列化的场景,除了JDK自身提供的Serializable之外, ...

  7. 20 HTTP 长连接与短连接

    20 HTTP 长连接与短连接 每日一句 纸上得来终觉浅,绝知此事要躬行. 每日一句 Never give up until the fight is over. 永远不要放弃,要一直战斗到最后一秒. ...

  8. 【ACM程序设计】动态规划 第二篇 LCS&LIS问题

    动态规划 P1439 [模板]最长公共子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给出 1,2,-,n 的两个排列 P1 和 P2 ,求它们的最长公共子序列. ...

  9. 两个月吃透阿里P9推荐260页SpringBoot2企业应用实战pdf入职定P6+

    前言 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置 ...

  10. Vben Admin 源码学习:项目初始化

    0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...