01-MyBatis_搭建第一个应用

来源:互联网 发布:mysql中获取当前时间 编辑:程序博客网 时间:2024/05/07 09:08

0. 下载

 MyBatis3用户指南中文版_.pdf

 mybatis-3.1.1-bundle.zip

 mybatis-spring-1.0.0-bundle.zip


 源程序下载(包含MyBatis相关jar,以及DBdriver)
 注: junit4 需自行导入

        搭建第一个mybatis.zip

目录结构


1. 准备 

 ① mybatis-3.1.1-bundle.zip
 ② mysql-connector-java-5.1.21-bin.jar

 ③ MySQL数据库

-- drop database mybatis;CREATE DATABASE mybatis;USE mybatis;CREATE TABLE USER(  id VARCHAR(36) PRIMARY KEY ,  NAME VARCHAR(64),  address VARCHAR(128))INSERT INTO USER (id, NAME, address)  VALUES("0001", "zhangsan", "Wuhan");INSERT INTO USER (id, NAME, address)  VALUES("0002", "lisi", "Shanghai");    SELECT * FROM USER;  


2. 参考

     文档 : mybatis-3.1.1 中自带

3. 配置文件 

 ① 总配置文件-- sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><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/mybatis" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments><mappers><!-- 映射文件的位置  --><mapper resource="com/hehe/mybatis/domain/User.xml" /></mappers></configuration>


 ② 映射文件--User.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hehe.mybatis.domain.User"><!-- 根据ID查询User --><!-- id: 当前sql语句的唯一标识 ,namespace+SQL-id 唯一标识一条SQLparameterType: SQL语句中的参数类型, 即"#{id}"的类型, 可写成java.lang.StringresultType: 结果类型(返回值类型)--><select id="selectUserById" parameterType="string" resultType="com.hehe.mybatis.domain.User">select * from user where id = #{id}</select><select id="selectAllUsers" resultType="com.hehe.mybatis.domain.User">select * from user</select></mapper>


4. 实体-- User

package com.hehe.mybatis.domain;public class User {private String id;private String name;private String address;@Overridepublic String toString() {return "id=" + id + "\tname="+name+"\taddress="+address;}        // set / get 已省略}



5. 测试

 ① 测试MyBatis是否能启动

 ② 测试SQL

package com.hehe.mybatis.test;import java.io.InputStream;import java.util.List;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.Before;import org.junit.Test;import com.hehe.mybatis.domain.User;public class UserTest {SqlSessionFactory sqlSessionFactory = null;@Test @Beforepublic void testInitMyBatis() throws Exception {// 装载总配置文件String resource = "sqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);System.out.println(sqlSessionFactory);}/*<select id="selectUserById" parameterType="string" resultType="com.hehe.mybatis.domain.User">select * from user where id = #{id}</select>*/@Test public void testSelectUserById() throws Exception {SqlSession session = sqlSessionFactory.openSession();// namespace + SQL-id 唯一标识一条SQL// namespace : com.hehe.mybatis.domain.User// SQL-id : selectUserByIdUser user = session.selectOne("com.hehe.mybatis.domain.User.selectUserById", "0001");System.out.println(user);session.close();}/*<select id="selectAllUsers" resultType="com.hehe.mybatis.domain.User">select * from user</select>*/@Test public void testSelectAllUsers() throws Exception {SqlSession session = sqlSessionFactory.openSession();// namespace + SQL-id 唯一标识一条SQL// namespace : com.hehe.mybatis.domain.User// SQL-id : selectUserByIdList<User> users = session.selectList("com.hehe.mybatis.domain.User.selectAllUsers");for (User user : users) {System.out.println(user);}session.close();}}





原创粉丝点击