当前位置:首页 > 开发 > 编程语言 > mybatis,Ibatis > 正文

我们一起读文档,学习MyBatis(一)----------- 一个简单demo的实现

发表于: 2013-03-10   作者:商人shang   来源:转载   浏览:
摘要:    第一步,创建SqlSessionFactory,方法有两种:        第一种:根据XML配置创建(Building SqlSessionFactory from XML)    java源代码: String resource = "mybatis-config.xml"; In

   第一步,创建SqlSessionFactory,方法有两种:

       第一种:根据XML配置创建(Building SqlSessionFactory from XML)

   java源代码:

String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
	inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
		e.printStackTrace();
}

 

 

   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:3306/dxsf?characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  
   <mappers>
    <mapper resource="mapper/BlogMapper.xml"/>
  </mappers>
  
</configuration>

 

 

    第二种:不使用XML配置创建SqlSessionFactory ( Building SqlSessionFactory without XML)

 

	DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver",  
		        "jdbc:mysql://localhost/dxsf?userUnicode=true&amp;characterEncoding=utf8", "root", "123456"); 
		TransactionFactory transactionFactory = new JdbcTransactionFactory();
		Environment environment = new Environment("development", transactionFactory, dataSource);
		Configuration configuration = new Configuration(environment);
		configuration.addMapper(BlogMapper.class);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

 

 

第二步,获取SqlSession并执行持久化操作

     在MyBatis的文档中执行自定义的方法时有两种方法,但是首先,都得先定义xxxMapper.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="mapper.BlogMapper">
  <select id="selectBlog" parameterType="int" resultType="model.Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

     以上的XML配置还可以由注解来实现:   自己定义Mapper接口

 

package org.mybatis.example;
public interface BlogMapper {
  @Select("SELECT * FROM blog WHERE id = #{id}")
  Blog selectBlog(int id);
}

  但是,由于注解的限制以及项目的复杂性,官方是不推荐这样使用的。个人认为,在xml配置文件中不仅结构清晰,而且易于维护。

 

 

然后在调用方法执行:

 

    第一种:

SqlSession session = sqlSessionFactory.openSession();
		try {
		  Blog blog = session.selectOne("model.BlogMapper.selectBlog", 1);
		  System.out.println(blog+"\n" + blog.getId() + "  " + blog.getTitle() + "   " + blog.getContent());
		} finally {
		  session.close();
		}

 

    这个代码很好理解:配置文件中的namaspace+id即可。

   第二种:

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

     这里看着很清晰,可是我刚看的时候不明白的是编辑器不会自动提示BlogMapper,而且我写上以后还会编辑错误,那么这个BlogMapper是什么呢?经过询问和搜集资料,得知这个是自己定义的一个接口,具体的内容如下:

public interface BlogMapper {
	Blog selectBlog(int id);
}

 

 

 

运行上面的代码即可以查出来数据。

 

 

 

我们一起读文档,学习MyBatis(一)----------- 一个简单demo的实现

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
  Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源。
今天我将开始我的Silverlight学习之旅。首先学会如何创建Silverlight项目并构建一个Silverlight简单
test.png test.jpdl.xml <?xml version="1.0" encoding="UTF-8"?> <process name="test" x
在自学Android开发近半年之后,终于选定了毕业设计的课题,做一个Angry Bird。 开发了一个简单的dem
首先申明 1.游戏原始demo和资源来自博客家园的子龙山人http://www.cnblogs.com/zilongshanren/。力
首先到freemark官方网站里面去下载源程序和jar包,里面有demo程序和文档。 这个具体怎么操作我就不
相关使用文件的下载地址:http://pan.baidu.com/s/1mgiXI1y 1 Mybatis入门 1.1 单独使用jdbc编程问
Mybatis,是一个轻量级的ORM产品,比较适合中小型项目,适合我的要求。 Mybatis 所需要的包: Mybat
  难得清闲,学习了一下mybatis持久化框架,在这里分享一下。 1、首先导入jar包: mybatis-3.1.1.
VideoView简单学习Demo 运行效果图: [img] [/img] 项目主代码: 一 主类、 package com.amaker.vide
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号