(一)mybatis+mysql 基本环境搭建
来源:互联网 发布:美国p2p软件 编辑:程序博客网 时间:2024/06/10 18:43
mybatis介绍就不多提了,直接步入正题。
先准备好eclipse和MySQL,然后先看一下目录结构
文件和类很少,所以mybatis的搭建是非常简单的,如搭建中遇到问题可以先参考文档最后一部分的综合说明。
1.下载mybatis-3.2.3.jar和mysql-connector-java-5.1.12-bin.jar两个jar包,可以到各自官网下载,也可以到我提供的下载地址下载,里面包含了之后需要的很多jar包。地址http://download.csdn.net/detail/long_li99/8950445
2.创建Dynamic Web project项目名MyBatis,把jar包复制到WEB-INF/lib文件夹下。
3.在建立好的项目中,再创建两个Source Folder,分别为config和test。
src是源代码文件,config建立的都是配置文件,test是以后专门做JUnit测试的。
4.创建数据库test(略),并创建表user,插入两条数据。
CREATE TABLE user(id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(30) DEFAULT NULL,age INT(3) DEFAULT NULL,birthday DATE DEFAULT null,PRIMARY KEY(id))INSERT INTO user(name, age, birthday) VALUES('张三', 25, STR_TO_DATE('1990-05-21','%Y-%m-%d'));INSERT INTO user(name, age, birthday) VALUES('李四', 24, STR_TO_DATE('1991-07-06','%Y-%m-%d'));INSERT INTO user(name, age, birthday) VALUES('王五', 24, STR_TO_DATE('1991-01-02','%Y-%m-%d'));</span></span></span>
上面的插入语句,id是可以自动增长的主键。
5.在src下创建bdt.model包,此包主要放与数据库对应的实体类。在此包下面新建实体类User.java
public class User {private Integer id;private String name;private Integer age;private Date birth;// 构造方法……// getter和setter方法……// toString()方法……}</span></span></span>
6.src下创建bdt.mapper包,此包主要放映射的类的xml配置文件和接口(这个以后再说),然后在此包下新建User.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="bdt.mapper.User"> <select id="selectUserByID" parameterType="int" resultType="user"> select * from user where id = #{id} </select></mapper></span></span>
7.在config文件夹下创建mybatis-config.xml文件,文件内容如下:
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 实体类别名,对应映射文件中的resultType --><typeAliases><typeAlias alias="user" type="bdt.model.User"/></typeAliases><!-- 数据库连接配置,配置连接字符串、用户名、密码或缓存、懒加载、语句执行超时时间等这里目前只配置了基本的数据库连接属性 --><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/test" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments><!-- 实体与数据库表映射文件位置,配置后MyBatis才会找到并加载上 --><mappers><mapper resource="bdt/mapper/User.xml" /></mappers></configuration></span></span>
好的,到现在基本文件都搭建完成了,下面先进行一下测试,先看看我们的配置成果。测试之后会对以上配置做一个说明。
在test文件夹下创建bdt.TestUser的Junit测试类,测试代码如下:
public class TestUser {/** * SqlSessionFactory是用来创建SqlSession的工厂,SqlSession会执行映射的语句,进行事物提交、回滚等。 * @return */public SqlSessionFactory getSqlSessionFactory() {Reader reader = null;SqlSessionFactory sqlSessionFactory = null;try {reader = Resources.getResourceAsReader("mybatis-config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}return sqlSessionFactory;}@Testpublic void selectUserByID() {// 得到SqlSession实例,便于执行增删改查、事务提交回滚等操作。SqlSession session = getSqlSessionFactory().openSession();try {User user = (User)session.selectOne("bdt.mapper.User.selectUserByID", 2);System.out.println(user);} finally {session.close();}}</span></span>
我们选中测试方法,执行
得到结果
综合说明:
到目前为止共有两个xml配置文件。mybatis-config.xml文件时mybatis的核心配置文件,里面配置了实体类别名<typeAliases>、数据库连接环境<environments>、实体类映射的xml配置文件的加载<mappers>等。User.xml配置文件是我们写sql语句的文件,与实体类一一对应,映射对应的数据库表。下图是对两个配置文件和测试代码关系的展示:
对应图中编号
1. 实体类别名。在User.xml配置文件中的resultType返回值类型是实体的时候写此别名,不配置的话,需要写bdt.model.User会很麻烦,这样一配置一劳永逸。resultType还有map等返回值类型,之后再说。
2. mappers标签配置的是需要加载哪些配置文件,不配置系统就不知道你有此User.xml配置文件。
3. 映射的命名空间,目前这个可以是随意字符串,但是在以后用接口的方式的时候就不能随便写了,目前可以随便写。
4. 要执行哪个语句,必须是唯一值,开发中会有很多增删改查语句,这个必须唯一的指定要执行哪条语句。
5. 传入语句的条件,会有很多类型,这里是int类型,#{id}方式可以获得传进来的条件参数。
6. bdt.model.User,对应实体类。
7. 另外还需要注意图中三个绿色方框内容,<typeAliases>、<environments>、<mappers>这三个的顺序是不能颠倒的,如果颠倒会报如下错误:
The content of element type "configuration" must match
"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".
显而易见,配置文件中的标签是有顺序的,正确的顺序错误提示中已经列出来了,之后我们还要添加<properties>配置文件,自然而然必须放到<typeAliases>之前。
好的,我的mybatis已经搭建完成并测试成功了,并对基本的配置有一点了解,但是还不够,接下来会更深入的学习。
- (一)mybatis+mysql 基本环境搭建
- (一)mybatis 环境搭建和基本说明
- mybatis基本环境搭建
- mybatis基本环境搭建
- Mybatis基本环境搭建
- mybatis环境搭建(一)
- Mybatis学习(一)环境搭建
- 自学mybatis(一)-----环境搭建
- MyBatis-搭建MyBatis开发环境一(MyEclipse版)
- MyBatis-搭建MyBatis开发环境一(MyEclipse版)
- SpringMVC+MyBatis+MySql环境搭建
- MyBatis基本环境搭建与MyBatisUtil
- maven+springmvc+mybatis基本开发环境搭建
- Spring + SpringMVC + Mybatis整合基本环境搭建
- MYSQL集群部署(一)--环境搭建
- MySQL主从复制(一)环境搭建
- Mybatis学习(一)环境搭建之踩坑
- Maven搭建Spring+Struts2+Mybatis项目(一) Maven环境
- Hdu 5321 2015多校对抗赛三
- 文本切换
- 使用selenium抓取JS动态生成的页面
- opencv sobel导数
- 选择排序
- (一)mybatis+mysql 基本环境搭建
- HYSBZ 2038 小Z的袜子 莫队算法
- leetcode之路029 Divide Two Integers
- Java 修饰符
- 二叉树的镜像
- 机器学习算法之决策树算法
- OpenCV函数 Laplacian 算子实现
- 【转自看雪】反编译apk+eclipse中动态调试smali
- 冒泡排序法