关闭

MyBatis入门学习(一)

标签: integerdaostringuserencodinghashmap
106603人阅读 评论(44) 收藏 举报
分类:

所需要jar包:mybatis-3.x.x.jar 、如果需要和spring整合,还需要加入相关的包

1:看项目目录 红颜色不要关心

2:按照步骤:

1:加入jar包

2:创建数据源(configuration.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>
	<typeAliases>
		<!--给实体类起一个别名 user -->
		<typeAlias type="com.forum.po.User" alias="User" />
	</typeAliases>
	<!--数据源配置  这块用 BD2数据库 -->
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc" />
			<dataSource type="POOLED">
				<property name="driver" value="com.ibm.db2.jcc.DB2Driver" />
				<property name="url" value="jdbc:db2://localhost:50000/forum" />
				<property name="username" value="DB2ADMIN" />
				<property name="password" value="admin" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->
		<mapper resource="myBatis/userMapper.xml" />
	</mappers>
</configuration> 
3:创建实体类USER

package com.forum.po;

/**
 * 用户类
 * 
 * @author db2admin
 * 
 */
public class User extends Entity {
	private String name;
	private Integer age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public User() {
	}

}

4:创建dao接口、可以说是Mapper接口:UserMapper

package com.forum.dao;

import com.forum.po.User;

public interface UserMapper {
	public User findById(String Id);
}

5:创建dao的实现,不同于hibernarte的此处的实现为一个xml文件,也就是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">
	<!--这块等于dao接口的实现  namespace必须和接口的类路径一样-->
<mapper namespace="com.forum.dao.UserMapper">
	<!-- findById必须和接口中的方法名一样  返回一个User  就是刚才的别名  如果不弄别名要连类路径一起写 麻烦-->
	<select id="findById" parameterType="HashMap" resultType="User">
		select
		* from butone.student where id=#{id}
    </select>
</mapper>

6:测试类,MyBatisTest

package com.forum.test;

import java.io.IOException;

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 com.forum.dao.UserMapper;
import com.forum.po.User;

/**
 * myBatis数据库连接测试
 * 
 * @author db2admin
 * 
 */
public class MyBatisTest {
	/**
	 * 获得MyBatis SqlSessionFactory  
	 * SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。
	 * @return
	 */
	private static SqlSessionFactory getSessionFactory() {
		SqlSessionFactory sessionFactory = null;
		String resource = "configuration.xml";
		try {
			sessionFactory = new SqlSessionFactoryBuilder().build(Resources
					.getResourceAsReader(resource));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return sessionFactory;
	}

	public static void main(String[] args) {
		SqlSession sqlSession = getSessionFactory().openSession();
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		User user = userMapper.findById("1");
		System.out.println(user.getName());

	}

}

4
3

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:393807次
    • 积分:2431
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:9篇
    • 译文:0篇
    • 评论:75条
    文章分类
    最新评论