Mybatis快速入门—新手Mybatis详细配置步骤介绍
2017-10-27 09:58
459 查看
新手学习Mybatis笔记—Mybatis配置
第一次接触Mybatis,记录自己的学习过程,首先通过查阅一些资料得到对Mybatis的以下几点理解一、 Mybatis个人理解
Mybatis是一种针对SQL查询映射ORM持久层框架配置过程与Hibernate相类似
Mybatis消除了繁琐的JDBC代码编码以及参数设置过程
相比较Hibernate,Mybatis更为轻量级。两者具体的比较,之后会记录
二、 Mybatis配置详解
1.准备Eclipse创建测试Mybatis的项目,最好是JavaWeb项目。在创建的过程中注意:一是要创建WEB-INF下的classes文件夹(src下的源代码编译后存放在这里的字节码文件:xxxx.class等)
二是要创建WEB-INF下的web.xml文件(用于配置拦截器,过滤器以及servlet等的xml配置文件),具体如下图所示,创建过程中就可以创建两个classes文件与web.xml文件:
最后我们会看到目录下将有我们所要创建的文件及MybatisDemo的javaweb项目,这都是必须的,这只是对于菜鸟新手而言,其他的可以跳过此步。
注意:图中classes文件夹可能不会显示,这时候你可以百度怎么显示,但我记得是Project Exploer右上角倒三角下的Customize view-去掉java output folders前面的勾即可
2.准备jar包:mybatis-3.2.7.jar+mysql-connection-java-5.1.1.44-bin.jar复制到lib文件下,Libraries下自然就会多出Web App Libraries存放jar包的文件,不需要Add to build path
3.创建数据库和表,我用到的是Mysql+navicat
SQL脚本使用入如下:
create database mybatis_demo; use mybatis_demo; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10),age INT); INSERT INTO users(NAME, age) VALUES('Zhangsan', 21); INSERT INTO users(NAME, age) VALUES('Lisi', 22);
这里是创建好的用来简单测试数据库mybatis_demo下的表users
4.创建conf.xml文件,在src下右键new->other->xml file->创建conf.xml
复制代码覆盖xml文件,注意我使用的端口是3308,一般都是3306
<?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> <!--一个environment代表一个环境变量,也就是一个基于JDBC的数据库连接,有多个JDBC就有多个environment --> <environments default="development"> <environment id="development"> <!--transactionManager声明事务管理器:基于JDBC --> <transactionManager type="JDBC" /> <!--dataSource:声明数据源,数据源的类型有NOPOOLED ,POOLED ,JIDN(开发和测试用POOLED) --> <dataSource type="POOLED"> <!-- property:配置数据库连接JDBC的一些属性信息 --> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3308/mybatis_demo?useSSL=true" /> <property name="username" value="root" /> <property name="password" value="1234" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/mybatis/userMapper.xml"/> </mappers> </configuration>
注意一定要加上以下的mappers资源代码,不然会出现Cause: java.lang.IllegalArgumentException: Mapped Statements collection………错误
<mappers> <mapper resource="com/mybatis/userMapper.xml"/> </mappers>
5.创建实体类User:在src下创建com.mybatis包,之后创建User类:
代码如下:
package com.mybatis; /** * @author Lijian * */ public class User { // 这里的属性必须跟数据库中字段要一致,必须对应 private int id; private String name; private int age; /* * 这里getter/setter方法以及toString都可以自动生成 */ public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
6.创建映射文件userMapper.xml,一开始学习阶段跟实体类User在同一个包下(类似于:Hibernate中的映射文件配置)
<?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"> <!--namespace:指明userMapper映射文件的所在位置,一般都是:包名(com.mybatis)+映射文件名(userMapper) --> <mapper namespace="com.mybatis.userMapper"> <!-- 1.parameterType属性指明查询时用到的参数类型:即id字段的类型 2.resultType属性指明查询返回的结果集类型:即返回一个User实体对象 3.resultType="com.mybatis.User"就表示将查询结果封装成一个User类的对象返回 4.在select标签中可以写SQL查询语句select * from users where id=#{id} --> <select id="getUser" parameterType="int" resultType="com.mybatis.User"> select * from users where id=#{id} </select> </mapper>
7.创建TestDemo
package com.mybatis; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class TestDemo { public static void main(String[] args) throws IOException { String resource = "conf.xml"; //使用类加载器getClassLoader()加载mybatis的配置文件 InputStream in = TestDemo.class.getClassLoader().getResourceAsStream(resource); //创建sqlSession的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in); //从sessionFactory里打开一个会话连接,即连接一个数据库 SqlSession session = sessionFactory.openSession(); /* * 映射sql的标识字符串statement: * com.mybatis.userMapper是mapper映射文件中唯一的标识符namespace * selectById是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL语句 */ String statement = "com.mybatis.userMapper.selectById"; //执行查询返回数据库第1条记录 :也可以使用selectList User user=session.selectOne(statement,1); System.out.println(user); //执行查询返回数据库第2条记录 User user2=session.selectOne(statement,2); System.out.println(user2); } }
接下来运行TestDemo->Run as->Java Application
相关文章推荐
- Hibernate快速入门—新手Hibernate详细配置步骤介绍
- 超级详细的新手在Idea中使用maven配置Spring+springmvc+mybatis(SSM)框架步骤
- [学习小结]Mybatis的快速入门--相关配置的步骤和CRUD实现
- JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- Caffe深度学习入门——配置caffe-SSD详细步骤以及填坑笔记
- 【Spring+MyBatis+MySQL实战入门】三、MyBatis的4个基本配置介绍
- Log4j详细介绍(一)----Log4j快速入门
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- 安装MySQL先复制1. Linux (CentOS 7.3) 下快速安装Mysql数据库(安装教程)2.后复制阿里云配置 MySQL 远程连接的详细步骤
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- Mybatis第一篇【介绍、快速入门、工作流程】
- MyBatis入门基本的配置介绍
- Mybatis的配置文件入门介绍
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- 【ASP.NET Core快速入门】(七)WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试
- SpringMVC+Spring+Mybatis快速入门(一)配置详解