MyBatis框架搭建及增删改查操作
2016-09-21 20:36
609 查看
一.搭建好myBatis的环境
1.引入jar包(1).mybatis-3.2.7jar核心jar
(2).mysql核心jar
(3).junit-4.9.jar
2.创建mybatis全局配置文件SqlMapConfig.xm(名字自定义)
配置了数据源、事务等mybatis运行环境,配置映射文件(配置sql语句)
3.mapper代理开发映射文件User.xml
4.目录结构如下
二.增删改查基本操作
1.配置myBatis全局配置文件<?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> <!-- 和spring整合后 environments配置将废除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理,事务的控制有mybatis--> <transactionManager type="JDBC" /> <!-- 数据库连接池,由mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="fxq123" /> </dataSource> </environment> </environments> <mappers> <mapper resource="sqlmap/User.xml"/> </mappers> </configuration>
2.配置User.xml映射,将sql语句封装到mappedStatement对象中,进行增删改查
<?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"> <!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离 注意:使用mapper代码方法开发,namespace有特殊重要的作用 --> <mapper namespace="test"> <!-- 在映射文件中配置很多sql语句 --> <!-- 需求:通过id查询用户表的记录 --> <!-- 通过select执行数据库的查询 --> <!-- id:标识映射文件中的sql --> <!-- 将sql语句封装到mappedStatement对象中,所以将id成为statement 的id --> <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User"> select * from USER where id = #{id} </select> <!-- 自定义条件查询用户列表 --> <!-- resultType:指定就是单条记录所映射的java对象类型 --> <select id="findUserByName" parameterType="java.lang.String" resultType="cn.itcast.mybatis.po.User"> select * from USER where username like '%${value}%' </select> <!-- 添加用户 parameterType:指定输入参数类型是pojo(包括:用户信息) #{}中指定pojo的属性名,接收到pojo对象的属性值,mybatis通过OGNL获取对象的属性值; --> <insert id="insertUser" parameterType="cn.itcast.mybatis.po.User"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> SELECT LAST_INSERT_ID() </selectKey> insert into USER (id,username,birthday,sex,address) values(#{id},#{username},#{birthday},#{sex},#{address}) </insert> <!-- 删除 --> <delete id="deleteUser" parameterType="java.lang.Integer"> delete from USER WHERE id = #{id} </delete> <!-- 更新 --> <update id="updateUser" parameterType="cn.itcast.mybatis.po.User"> update USER set username = #{username},birthday=#{birthday},sex=#{sex},address=#{address} where id = #{id} </update> </mapper>
3.根据Mybatis框架结构,在java代码中创建sqlSession 执行程序。
</pre></p><p><pre name="code" class="java">package cn.itcast.mybatis.first; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import cn.itcast.mybatis.po.User; /** * 入门程序 2016年9月21日14:46:51 * * @author fxq * */ public class MybatisFirst { //获得SqlSession public SqlSession getSqlSession() throws IOException { // mybastis配置文件 String resource = "SqlMapConfig.xml"; // 得到配置文件流 InputStream impuStream = Resources.getResourceAsStream(resource); // 创建会话工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(impuStream); // 通过工厂得到sqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } // 根据id查询用户信息,得到一条记录结果 @Test public void findUserByIdTest() throws IOException { //获得SqlSession SqlSession sqlSession=getSqlSession(); // 通过sqlSession操作数据库 // 第一个参数:映射文件中的statement的id,等于=namespace+"."+statement的id; // 第二个参数:指定和映射文件所匹配的parameterType类型的参数 // sqlSession.selectOne结果是与映射文件中的所匹配的resultType类型的对象; User user = sqlSession.selectOne("test.findUserById", 1); System.out.println(user); // 释放资源 sqlSession.close(); } /** * 模糊查询 * * @throws IOException */ @Test public void findUserbyNameTest() throws IOException { //获得SqlSession SqlSession sqlSession=getSqlSession(); // List中的user和映射文件中resultType所指定的类型一直 List<User> userList = sqlSession .selectList("test.findUserByName", "小明"); System.out.println(userList); sqlSession.close(); } /** * 插入数据 * * @throws IOException */ @Test public void insertUserTest() throws IOException { //获得SqlSession SqlSession sqlSession=getSqlSession(); // 插入用户对象 // 添加用户信息 User user = new User(); user.setUsername("张小明"); user.setBirthday(new Date()); user.setSex("1"); user.setAddress("河南郑州"); sqlSession.insert("test.insertUser", user); // 提交 sqlSession.commit(); System.out.println(user.getId()); sqlSession.close(); } /** * 删除用户 * * @throws IOException */ @Test public void deleteUserTest() throws IOException { //获得SqlSession SqlSession sqlSession=getSqlSession(); sqlSession.delete("test.deleteUser", 31); // 提交 sqlSession.commit(); sqlSession.close(); } /** * 更新用户 * * @throws IOException */ @Test public void updateUserTest() throws IOException { //获得SqlSession SqlSession sqlSession=getSqlSession(); User user = new User(); user.setId(28); user.setBirthday(new Date()); user.setUsername("范晓权"); user.setAddress("河北省鸡泽县"); user.setSex("2"); sqlSession.update("test.updateUser", user); sqlSession.commit(); sqlSession.close(); } }
三.总结:
MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。相关文章推荐
- 使用MyBatis框架进行数据库的增删改查操作
- MyBatis框架中通过映射文件和实现增删改查操作
- MyBatis框架中通过映射文件或实现增删改查操作
- MyBatis对数据库的增删改查操作,简单示例
- 搭建SpringMVC+Mybatis框架并实现数据库的操作
- SSM搭建-Mybatis入门概述及第一个Mybatis实例实现增删改查(16)
- mybatis实战之路,疯狂的数据库操作框架、动态sql的mybats之快速搭建基本环境
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- jquery-easyui实现页面布局和增删改查操作(SSH2框架支持)
- mybatis+springMVC对新闻的增删改查操作(查询分页)
- 19、SSM框架-Mybatis入门概述及第一个Mybatis实例实现增删改查(1)
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- MyBatis对数据库的增删改查操作,简单演示样例
- jquery-easyui实现页面布局和增删改查操作(SSH2框架支持)
- android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过
- 使用MyBatis对表执行增删改查操作——基于注解的实现
- mybatis-简单的增删改查操作
- mybatis数据库增删改查操作
- Hibernate 框架基本的数据库增删改查操作