Welcome 微信登录

首页 / 软件开发 / JAVA / MyBATIS使用CRUD

MyBATIS使用CRUD2015-02-01MyEclipse不提供自动生成,这里提供mybatis文件包和开发文档 http://download.csdn.net/detail/u010026901/7489319

自己建立配置文件,

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//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="oracle.jdbc.driver.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@192.168.2.55:ORCL" /><property name="username" value="ysk" /><property name="password" value="123" /></dataSource></environment></environments><mappers><!--这里填写dao接口映射的daoImpl,mybatis不是映射pojo(vo)类,而是dao类--><mapper resource="com/kane/dao/NewsDAOImpl.xml" /></mappers></configuration>
自己配置链接的sqlsessionFactory类,相当于hibernate的sessionFactory对应一个数据库
 

package com.kane.dbc;import java.io.InputStream;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 MyBATISSqlSessionFactory {// 配置文件的所在位置和名称private static String CONFIG_FILE_LOCATION = "mybatis-conf.xml";// 用来实现连接池的,该类类似Map集合。private static final ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();// MyBATIS用来读取配置文件的类private static InputStream is;// 用来建立连接的,该类就是连接池,使用单例设计模式private static SqlSessionFactory sqlsessionFactory;// 备用的配置文件位置private static String configFile = CONFIG_FILE_LOCATION;// 静态块,类加载时最先执行static {try {// 加载配置文件到内存中is = Resources.getResourceAsStream(configFile);// 建立连接池以及里面的连接sqlsessionFactory = new SqlSessionFactoryBuilder().build(is);} catch (Exception e) {System.err.println("%%%% Error Creating SessionFactory %%%%");e.printStackTrace();}}private MyBATISSqlSessionFactory() {}/*** 取得数据库连接对象* * @return Session* @throws HibernateException*/public static SqlSession getSession() {// 先从ThreadLocal中取得连接。SqlSession session = (SqlSession) threadLocal.get();// 如果手头没有连接,则取得一个新的连接if (session == null) {session = sqlsessionFactory.openSession();// 把取得出的连接记录到ThreadLocal中,以便下次使用。threadLocal.set(session);}return session;}/*** 连接关闭的方法* * @throws HibernateException*/public static void closeSession() {SqlSession session = (SqlSession) threadLocal.get();// 将ThreadLocal清空,表示当前线程已经没有连接。threadLocal.set(null);// 连接放回到连接池if (session != null) {session.close();}}}