码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis入门教程(一)

时间:2015-08-14 13:49:02      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:mybatis

MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

 

       具有以下优点:1)开源的优秀持久层框架;(2SQL语句与代码分离;(3)面向配置的编程;(4)良好支持复杂数据映射;(5)动态SQL

 

         无论是Hibernate或者Mybatis,都可以法相他们有共同点1)从配置文件(通常是XML配置文件中)得到sessionfactory;(2)由sessionfactory 产生 session;(3)在session中完成对数据的增删改查和事务提交等;(4)在用完之后关闭session

 

       具体言:每个MyBatis应用程序主要都是使用SqlSessionFactory实例,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

 

java 对象和数据库之间有做mapping 的配置文件,也通常是xml文件


各种技术在MVC中的位置如下图:

技术分享

 


 下面贴出源代码:


MyBatisConfig.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">
      </transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/jikebook"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
      </dataSource>
    </environment>
  </environments>

  <mappers>
	    <mapper resource="jike/book/map/jikeUser.xml"/>
  </mappers>

</configuration>


Student.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="/">

  <select id="findById"  parameterType="int"  resultType="com.hanchun.pojo.Student">
  	  select * from management where id=#{id}
  </select>

</mapper>

Student.java

package com.hanchun.pojo;

/**
 *Student注意和数据库对应的表写成一一对应,否则会返回null值 
 */

public class Student {
	private int id;
	private String stu_name;
	private String stu_age;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getStu_name() {
		return stu_name;
	}
	public void setStu_name(String stu_name) {
		this.stu_name = stu_name;
	}
	public String getStu_age() {
		return stu_age;
	}
	public void setStu_age(String stu_age) {
		this.stu_age = stu_age;
	}
}




Test.java

package com.hanchun.test;

import java.io.IOException;
import java.io.Reader;

import com.hanchun.pojo.Student;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test{

	public static void main(String[] args) {
		// 注意写成路径的形式
		String resource = "com/hanchun/map/MyBatisConfig.xml";
		Reader reader = null;
		SqlSession session;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder()
				.build(reader);
		session = sqlMapper.openSession();
		Student temp = session.selectOne("findById", 3);
		System.out.println(temp.getStu_name());
		session.close();
	}
}


最后程序运行结果:

技术分享


欢迎讨论:http://blog.csdn.net/code_7






版权声明:本文为博主原创文章,未经博主允许不得转载。

MyBatis入门教程(一)

标签:mybatis

原文地址:http://blog.csdn.net/code_7/article/details/47659735

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!