首页 > 其他 > 详细

MyBatis入门学习

时间:2015-01-06 02:17:10      阅读:287      评论:0      收藏:0      [点我收藏+]

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

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

bubuko.com,布布扣

2:按照步骤:

1:加入jar包

2:创建数据源(configuration.xml)创建数据库(此处省略)

?

  1. <?xml?version="1.0"?encoding="UTF-8"??>?????
  2. <!DOCTYPE?configuration?????
  3. ????PUBLIC?"-//mybatis.org//DTD?Config?3.0//EN"?????
  4. ????"http://mybatis.org/dtd/mybatis-3-config.dtd">??
  5. <configuration>??
  6. ????<typeAliases>??
  7. ????????<!--给实体类起一个别名?user?-->??
  8. ????????<typeAlias?type="com.forum.po.User"?alias="User"?/>??
  9. ????</typeAliases>??
  10. ????<!--数据源配置??这块用?BD2数据库?-->??
  11. ????<environments?default="development">??
  12. ????????<environment?id="development">??
  13. ????????????<transactionManager?type="jdbc"?/>??
  14. ????????????<dataSource?type="POOLED">??
  15. ????????????????<property?name="driver"?value="com.ibm.db2.jcc.DB2Driver"?/>??
  16. ????????????????<property?name="url"?value="jdbc:db2://localhost:50000/forum"?/>??
  17. ????????????????<property?name="username"?value="DB2ADMIN"?/>??
  18. ????????????????<property?name="password"?value="admin"?/>??
  19. ????????????</dataSource>??
  20. ????????</environment>??
  21. ????</environments>??
  22. ????<mappers>??
  23. ????????<!--userMapper.xml装载进来??同等于把“dao”的实现装载进来?-->??
  24. ????????<mapper?resource="myBatis/userMapper.xml"?/>??
  25. ????</mappers>??
  26. </configuration>???
<?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

?

?

  1. package?com.forum.po;??
  2. ??
  3. /**?
  4. ?*?用户类?
  5. ?*??
  6. ?*?@author?db2admin?
  7. ?*??
  8. ?*/??
  9. public?class?User?extends?Entity?{??
  10. ????private?String?name;??
  11. ????private?Integer?age;??
  12. ????public?String?getName()?{??
  13. ????????return?name;??
  14. ????}??
  15. ????public?void?setName(String?name)?{??
  16. ????????this.name?=?name;??
  17. ????}??
  18. ????public?Integer?getAge()?{??
  19. ????????return?age;??
  20. ????}??
  21. ????public?void?setAge(Integer?age)?{??
  22. ????????this.age?=?age;??
  23. ????}??
  24. ????public?User()?{??
  25. ????}??
  26. ??
  27. }??
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

?

?

  1. package?com.forum.dao;??
  2. ??
  3. import?com.forum.po.User;??
  4. ??
  5. public?interface?UserMapper?{??
  6. ????public?User?findById(String?Id);??
  7. }??
package com.forum.dao;

import com.forum.po.User;

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


5:创建dao的实现,不同于hibernarte的此处的实现为一个xml文件,也就是userMapper.xml

?

?

  1. <?xml?version="1.0"?encoding="UTF-8"??>??
  2. <!DOCTYPE?mapper?PUBLIC???
  3. ????"-//mybatis.org//DTD?Mapper?3.0//EN"??
  4. ????"http://mybatis.org/dtd/mybatis-3-mapper.dtd">??
  5. ????<!--这块等于dao接口的实现??namespace必须和接口的类路径一样-->??
  6. <mapper?namespace="com.forum.dao.UserMapper">??
  7. ????<!--?findById必须和接口中的方法名一样??返回一个User??就是刚才的别名??如果不弄别名要连类路径一起写?麻烦-->??
  8. ????<select?id="findById"?parameterType="HashMap"?resultType="User">??
  9. ????????select??
  10. ????????*?from?butone.student?where?id=#{id}??
  11. ????</select>??
  12. </mapper>??
<?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

?

?

  1. package?com.forum.test;??
  2. ??
  3. import?java.io.IOException;??
  4. ??
  5. import?org.apache.ibatis.io.Resources;??
  6. import?org.apache.ibatis.session.SqlSession;??
  7. import?org.apache.ibatis.session.SqlSessionFactory;??
  8. import?org.apache.ibatis.session.SqlSessionFactoryBuilder;??
  9. ??
  10. import?com.forum.dao.UserMapper;??
  11. import?com.forum.po.User;??
  12. ??
  13. /**?
  14. ?*?myBatis数据库连接测试?
  15. ?*??
  16. ?*?@author?db2admin?
  17. ?*??
  18. ?*/??
  19. public?class?MyBatisTest?{??
  20. ????/**?
  21. ?????*?获得MyBatis?SqlSessionFactory???
  22. ?????*?SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。?
  23. ?????*?@return?
  24. ?????*/??
  25. ????private?static?SqlSessionFactory?getSessionFactory()?{??
  26. ????????SqlSessionFactory?sessionFactory?=?null;??
  27. ????????String?resource?=?"configuration.xml";??
  28. ????????try?{??
  29. ????????????sessionFactory?=?new?SqlSessionFactoryBuilder().build(Resources??
  30. ????????????????????.getResourceAsReader(resource));??
  31. ????????}?catch?(IOException?e)?{??
  32. ????????????//?TODO?Auto-generated?catch?block??
  33. ????????????e.printStackTrace();??
  34. ????????}??
  35. ????????return?sessionFactory;??
  36. ????}??
  37. ??
  38. ????public?static?void?main(String[]?args)?{??
  39. ????????SqlSession?sqlSession?=?getSessionFactory().openSession();??
  40. ????????UserMapper?userMapper?=?sqlSession.getMapper(UserMapper.class);??
  41. ????????User?user?=?userMapper.findById("1");??
  42. ????????System.out.println(user.getName());??
  43. ??
  44. ????}??
  45. ??
  46. }??
  47. SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架

MyBatis入门学习

原文:http://qq-24871163.iteye.com/blog/2172561

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!