MyBatis3操作数据库
来源:互联网 发布:店铺怎么开通淘宝客 编辑:程序博客网 时间:2024/06/07 07:10
为什么使用MyBatis框架
为什么要使用MyBatis框架呢?举一个简单例子,在使用传统的JDBC代码时,需要写上必要的DAO层代码,在DAO层代码中将数据表中的数据封装到自定义的实体类中。这给代码的维护带来了问题。但MyBtis和Hibernare解决了这个问题,使用它们做查询时,可以自动地将表中数据记录封装到实体或者Map中,再将它们放入List中返回。这么常见的功能都可以由MyBatis和Hibernate自由方便地实现,可见,使用这两个框架开发应用会非常方便快捷。
准备下载MyBatis框
MyBatis框架下载可以在github上进行下载,下载的地址为:
https://github.com/mybatis/mybatis-3/releases
下载完就可以使用它的jar包进行开发了。
创建数据库mytestdb
使用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配置文件连接数据库的内容如下:
<?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/mytestdb"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments></configuration>
使用MyBatis Generator工具逆向
MyBatis Generator插件可以在eclipse,Help–>Install New Software… 上搜索在线安装。
点击src右键新建MyBatis生成文件
生成generatorConfig.xml配置文件后,点击打开
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration> <context id="context1"> <jdbcConnection connectionURL="???" driverClass="???" password="???" userId="???" /> <javaModelGenerator targetPackage="???" targetProject="???" /> <sqlMapGenerator targetPackage="???" targetProject="???" /> <javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER" /> <table schema="???" tableName="???"> <columnOverride column="???" property="???" /> </table> </context></generatorConfiguration>
对生成的generatorConfig.xml配置文件修改为如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!-- 指定mysql Jar包路径,不然会报错--> <classPathEntry location="E:/eclipse_workspace/MyBatis/WebContent/WEB-INF/lib/mysql-connector-java-5.1.27.jar" /> <context id="MyBatis"> <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/mytestdb" driverClass="com.mysql.jdbc.Driver" password="root" userId="root" /> <javaModelGenerator targetPackage="orm" targetProject="MyBatis" /> <sqlMapGenerator targetPackage="orm" targetProject="MyBatis" /> <javaClientGenerator targetPackage="orm" targetProject="MyBatis" type="XMLMAPPER" /> <table schema="dbo" tableName="users"> </table> </context></generatorConfiguration>
准备就绪后,右键点击generatorConfig.xml文件,选择Generate My Batis/i BATIS Artifacts一项,成功生成orm映射文件,此时项目结构为
最后编写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("87500242@qq.com"); SqlSession sqlSession = GetSqlSession.getSqlSession(); sqlSession.insert("orm.UsersMapper.insert", users); sqlSession.commit(); sqlSession.close(); }}
Servlet中代码实现一个经典的insert数据表的功能,部署web项目,运行Servlet,在数据表中就可以看到成功插入了新纪录,如下图
ok!大功告成!!!
- MyBatis3操作数据库
- 【J2EE核心开发学习笔记 009】MyBatis3操作数据库(CURD)
- mybatis3常见数据操作
- mybatis3常见数据操作
- 关于Mybatis3的更新操作
- 关于Mybatis3的更新操作
- 关于Mybatis3的更新操作
- Mybatis3
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- MyBatis3 之增删改查操作
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- 基于MyBatis3.0.6的基本操作介绍
- MyBatis mapper的理解
- java 编码规范
- 用netty实现paho(一)
- 人工智能II
- WIFI 一键配置原理-ESP8266
- MyBatis3操作数据库
- IP格式转换功能代码分享
- CS231n课程笔记翻译1:Python Numpy教程
- 二叉树经典面试题4~判断一棵树是否是完全二叉树
- Java知识(java的基础知识)
- linux 统计 具体日期 的文件 内容模板
- POJ 2367 Genealogical tree(拓扑排序+dfs)
- POJ 2676 Sudoku(经典DFS)
- 全面剖析Redis Cluster原理和应用