01-MyBatis_搭建第一个应用

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 configuration
PUBLIC "-//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 mapper
PUBLIC "-//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 唯一标识一条SQL
		parameterType: SQL语句中的参数类型, 即"#{id}"的类型, 可写成java.lang.String
		resultType: 结果类型(返回值类型)
	-->
	<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;

	@Override
	public 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 @Before
	public 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 : selectUserById
		User 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 : selectUserById
		List<User> users = session.selectList("com.hehe.mybatis.domain.User.selectAllUsers");
		for (User user : users) {
			System.out.println(user);
		}
		session.close();
	}
}
	





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值