MyBatis3操作数据库

###为什么使用MyBatis框架
为什么要使用MyBatis框架呢?举一个简单例子,在使用传统的JDBC代码时,需要写上必要的DAO层代码,在DAO层代码中将数据表中的数据封装到自定义的实体类中。这给代码的维护带来了问题。但MyBtis和Hibernare解决了这个问题,使用它们做查询时,可以自动地将表中数据记录封装到实体或者Map中,再将它们放入List中返回。这么常见的功能都可以由MyBatis和Hibernate自由方便地实现,可见,使用这两个框架开发应用会非常方便快捷。

###准备下载MyBatis框
MyBatis框架下载可以在github上进行下载,下载的地址为:
https://github.com/mybatis/mybatis-3/releases

MyBatis3操作数据库_第1张图片

下载完就可以使用它的jar包进行开发了。

###创建数据库mytestdb
MyBatis3操作数据库_第2张图片

###使用XML配置文件创建SqlSessionFactory对象

使用XML配置文件方式创建SqlSessionFactory对象的核心代码如下:

package dbtools;

import java.io.IOException;
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 GetSqlSession {
	
	public static SqlSession getSqlSession() throws IOException  {
			
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		SqlSession sqlSession = sqlSessionFactory.openSession();
		return sqlSession;
	}
}

其中mybatis-config.xml配置文件连接数据库的内容如下:




  
    
      
      
        
        
        
        
      
    
  

###使用MyBatis Generator工具逆向
MyBatis Generator插件可以在eclipse,Help–>Install New Software… 上搜索在线安装。
点击src右键新建MyBatis生成文件
MyBatis3操作数据库_第3张图片
生成generatorConfig.xml配置文件后,点击打开




  
    
    
    
    
    
    

对生成的generatorConfig.xml配置文件修改为如下





  
  
    
    
    
    
    

准备就绪后,右键点击generatorConfig.xml文件,选择Generate My Batis/i BATIS Artifacts一项,成功生成orm映射文件,此时项目结构为
MyBatis3操作数据库_第4张图片

###最后编写servlet核心代码

package controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.ibatis.session.SqlSession;
import dbtools.GetSqlSession;
import orm.Users;

@WebServlet("/userinsert")
public class UserController extends HttpServlet{

	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		Users users = new Users();
		users.setUsername("starkfang");
		users.setPassword("qwerty");
		users.setEmail("[email protected]");
		SqlSession sqlSession = GetSqlSession.getSqlSession();
		sqlSession.insert("orm.UsersMapper.insert", users);
		sqlSession.commit();
		sqlSession.close();
	}
}

Servlet中代码实现一个经典的insert数据表的功能,部署web项目,运行Servlet,在数据表中就可以看到成功插入了新纪录,如下图

MyBatis3操作数据库_第5张图片

ok!大功告成!!!

你可能感兴趣的:(Java,web)