前言

  mybatis是一个持久层的框架,那么问题来了,什么是持久层的框架呢,持久层就是把数据持久化的保存到数据库中,这种过程一般叫数据持久化的过程,现为了程序员能够很方便的操作数据库,于是就出现持久层的框架.mybatis就是其中的佼佼者,将java代码和sql语句分离的出来

一,环境的搭建

 1.首先在IDEA中创建一个quick start的maven项目, 然后一直点击下一步

2.创建好项目,在pom.xml中导入依赖包,主要导入三个依赖包,分别是log4j,mysql,mybatis

 <!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>

3,在main目录下创建resources文件夹,并且Mark resources as为 resource文件

4,在该文件夹中创建3个文件,分别是db.properties  , log4j.properties 和mybatis.xml

具体内容如下,db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis02?useSSL=false
username=root
password=123456

log4j.properties具体内容如下:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

mybatis.xml的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>
<properties resource="db.properties"/>
<typeAliases>
<package name="com.shsxt.po"></package>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<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> <package name="com.shsxt.mapper"/>
</mappers>
</configuration>

5,在src/java目录下,创建package,名为mapper,该包下创建映射文件UserMapper.xml和UserMapper的接口以及实现类

UserMapper.xml的具体内容如下:

<?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.shsxt.mapper.UserMapper">
<select id="queryById" parameterType="int" resultType="User">
select * from user where id=#{id}
</select>
</mapper>

UserMapper的接口内容如下:

实现类UserMapperImpl的具体内容如下:

import com.shsxt.mapper.UserMapper;
import com.shsxt.po.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import java.util.List;
import java.util.Map; public class UserMapperImpl implements UserMapper {
private SqlSessionFactory sqlSessionFactory; public UserMapperImpl(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
} @Override
public User queryById(Integer id) {
SqlSession session=null;
User user=null;
try {
session=sqlSessionFactory.openSession();
user=session.selectOne("com.shsxt.mapper.UserMapper.queryById" ,id);
}catch (Exception e){
e.printStackTrace();
}finally {
if(session!=null){
session.close();
}
} return user;
}

6,创建一个实体类user

public class User {
private Integer id;
private String username;
private String realname;
private String password; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getRealname() {
return realname;
} public void setRealname(String realname) {
this.realname = realname;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", realname='" + realname + '\'' +
", password='" + password + '\'' +
'}';
}
}

7,创建一个mysql的数据库,名必须db.properties中  url=jdbc:mysql://localhost:3306/mybatis02?useSSL=false中的mybatis02的数据库名保持一致,

之后再创建一个user表,字段尽量与User类中的成员变量名保持一致

8,在test文件夹中写一个test类,用于测试

Test_mybatis02中的具体内容如下:

import com.shsxt.mapper.Impl.UserMapperImpl;
import com.shsxt.mapper.UserMapper;
import com.shsxt.po.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class Test_mybatis02 {
SqlSessionFactory sqlSessionFactory;
@Before
public void ready() throws IOException {
InputStream inputStream= Resources.getResourceAsStream("mybatis.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
} /*
* queryById*/
@Test
public void test01(){
UserMapper userMapper=new UserMapperImpl(sqlSessionFactory);
User user= userMapper.queryById(1);
System.out.println(user);
}
}

9,测试结果如下,说明搭建成功了,本次环境搭建稍微较为复杂,

10,在UserMapper.xml中写了sql语句会出现大量报黄色的现象,一般来说是两个原因

第一个,没有配置数据源,也就是没有在IDEA中配置数据库,可按照如下配置

1,点击右边上的database

2,点击+号,选择data source,选择mysql

3,如下图所示

第二个,在setting中搜索sql,如下图所示,将project sql dialect设置为mysql即可

mybatis的简单搭建和使用(一)的更多相关文章

  1. Mybatis的简单搭建

    1.官方网址 http://www.mybatis.org/mybatis-3/zh/getting-started.html 2.导入jar包 3.根据官方文档,首先写mybatis-config. ...

  2. 零配置简单搭建SpringMVC 项目

    SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...

  3. SpringMVC,Spring,Hibernate,Mybatis架构开发搭建之SpringMVC部分

    SpringMVC,Spring,Hibernate,Mybatis架构开发搭建之SpringMVC部分 辞职待业青年就是有很多时间来写博客,以前在传统行业技术强度相对不大,不处理大数据,也不弄高并发 ...

  4. 用IntelliJ IDEA 开发Spring+SpringMVC+Mybatis框架 分步搭建三:配置spring并测试

    这一部分的主要目的是 配置spring-service.xml  也就是配置spring  并测试service层 是否配置成功 用IntelliJ IDEA 开发Spring+SpringMVC+M ...

  5. Mybatis框架简单使用

    Mybatis框架简单使用 环境搭建 新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等. ...

  6. (一)springmvc+spring+mybatis+maven框架搭建

    (一)springmvc+spring+mybatis+maven框架搭建 1.说明 工作之余,为了学习点东西.先搭建个框架. 以后要往里面加东西,比如rabbitMQ.redis.shiro等. 也 ...

  7. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  8. mybatis学习:mybatis的环境搭建与入门

    一.mybatis的概述: mybatis是一个持久层框架,用java编写 它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接登繁杂过程 它使用了ORM思想 ...

  9. 初识Mybatis之工程搭建

    简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

随机推荐

  1. [BAT] SetX 永久设置环境变量

    SetX 有三种使用方式: 语法 1: SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M] 语法 2: SETX [/ ...

  2. 最新 东方明珠java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.东方明珠等10家互联网公司的校招Offer,因为某些自身原因最终选择了东方明珠.6.7月主要是做系统复习.项目复盘.Leet ...

  3. JavaScript里的类和继承(转)

    转自: http://www.h5cn.com/js/jishu/2016/0121/17634.html js与大部分客户端语言有几点明显的不同: JS是 动态解释性语言,没有编译过程,它在程序运行 ...

  4. GitHub克隆下载代码速度慢解决办法

    这几天克隆下载GitHub代码奇慢无比,网上搜索了一下解决方案有些不太完整,自己试验出了比较完整的解决方式: 1.在hosts文件里追加以下内容(IP需要替换掉),以下几个域名一个都不要少,有些文章只 ...

  5. ORACLE initialization or shutdown in progress 错误解决办法

    第一步,运行cmd 第一步.sqlplus /NOLOG第二步.SQL>connect sys/change_on_install as sysdba'/提示:已成功第三步.SQL>shu ...

  6. centos7 虚拟机 A start job is running for /etc/rc.d/rc.local Comp。。。

    一直卡这F5查看日志,最后一行出现A start job is running for /etc/rc.d/rc.local Comp... 原因是rc.local权限设错了解决方法:1.进入单用户模 ...

  7. tomcat单机多应用部署配合Nginx负载均衡

    一.Windows 配置tomcat . 安装两个tomcat服务器以上 . 配置环境变量 CATALINA_BASE:D:\servers\Tomcat8 CATALINA_HOME:D:\serv ...

  8. CF1032B Personalized Cup

    一个多月前写的题,既然没人写题解,那蒟蒻就写一篇吧 基本思路 既然是输出任意一个解,那么号的位置在那里是没有关系的.我的思路是默认*号在最后面,然后对输入的字符串输出的行数进行分类. 代码 #incl ...

  9. Python爬虫详解

    Python爬虫详解 Python 之 Urllib库的基本使用 Python中requests库使用方法详解 Beautifulsoup模块基础用法详解 selenium模块基础用法详解 re(正则 ...

  10. S02_CH08_ ZYNQ 定时器中断实验

    S02_CH08_ ZYNQ 定时器中断实验 上一章实现了PS接受来自PL的中断,本章将在ZYNQ的纯PS里实现私有定时器中断.每隔一秒中断一次,在中断函数里计数加1,通过串口打印输出. 8.1中断原 ...