使用mybatis开发步骤
来源:互联网 发布:网络语鸡肋是什么意思 编辑:程序博客网 时间:2024/05/16 12:35
1 导包
2 搭建项目的整体架构
3 编写工具类
package com.util;import java.io.Reader;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 MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); }}
4 编写配置文件
<?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> <typeAliases> <!-- 别名方式1,一个一个的配置,type中放置的是类的全路径,alias中放置的是类别名 --> <typeAlias type="com.entity.User" alias="User"/> <!-- 列名方式2,自动扫描,将Java Bean的类名作为类的别名 --> <!-- <package name="com.entity"/> --> </typeAliases> <!-- 配置开发环境 --> <environments default="development"> <environment id="development"> <!-- type="JDBC"代表使用JDBC的提交和回滚来管理事务 --> <transactionManager type="JDBC"/> <!-- mybatis提供了3种数据源类型,分别是:POOLED、UNPOOLED、JNDI POOLED:mybatis实现简单的数据库连接池,它使得数据库连接可以复用,不必在每次请求时创建一个新的连接。 UNPOOLED:表示不支持数据源连接池。 JNDI表示支持外部数据源连接池。 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- 配置映射文件 --> <mappers> <!-- 配置映射文件方式1,一个一个的配置 --> <mapper resource="com/dao/UserDaoMapper.xml"/> <!-- 配置映射文件方式2,自动扫描包内的Mapper接口与配置文件 --> <!-- <package name="com/dao"/> --> </mappers></configuration>
5 编写实体类和Dao接口
6 编写映射文件
<?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="com.dao.UserDaoMapper"> <!-- 如果实体类的属性名与表的字段名不同时 --> <resultMap type="User" id="userMap"> <id property="id" column="id" javaType="java.lang.Integer"/> <result property="username" column="username" javaType="java.lang.String"/> <result property="password" column="password" javaType="java.lang.String"/> <result property="sex" column="sex" javaType="java.lang.String"/> <result property="age" column="age" javaType="java.lang.Integer"/> </resultMap> <select id="findById" parameterType="int" resultType="User"> select * from user where id=#{id} </select> <select id="fingByCondition" parameterType="User" resultMap="userMap"> select * from user where 1=1 <if test="username!=null"> and username like#{username} </if> <if test="sex!=null"> and sex#={sex} </if> <if test="age!=null"> and age#={age} </if> </select> <select id="findAll" resultType="User"> select * from user </select> <insert id="saveUser" parameterType="User"> insert into user (id, username, password, sex, age) values (#{id}, #{username}, #{password}, #{sex}, #{age}) </insert> <update id="updateUser" parameterType="User"> update user set username=#{username}, password=#{password}, sex=#{sex}, age#={age} where id=#{id} </update> <delete id="removeUser" parameterType="int"> delete from user where id=#{id} </delete></mapper>
7 编写Dao接口的实现类
package com.dao.impl;import java.io.Serializable;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.dao.UserDao;import com.entity.User;import com.util.MybatisUtils;public class UserDaoImpl implements UserDao { @Override public User findById(int id) { SqlSession session = MybatisUtils.getSqlSession(); User user = session.selectOne("com.dao.UserDaoMapper.findById", id); session.close(); return user; } @Override public List<User> findByCondition(User user) { SqlSession session = MybatisUtils.getSqlSession(); List<User> userList = session.selectList("com.dao.UserDaoMapper.findByCondition"); session.close(); return userList; } @Override public List<User> findAll() { SqlSession session = MybatisUtils.getSqlSession(); List<User> userList = session.selectList("com.dao.UserDaoMapper.findAll"); session.close(); return userList; } @Override public Serializable saveUser(User user) { SqlSession session = MybatisUtils.getSqlSession(); int result = -1; try { result = session.insert("com.dao.UserDaoMapper.saveUser", user); session.commit(); } catch (Exception e) { session.rollback(); e.printStackTrace(); } finally { session.close(); } return result; } @Override public Serializable removeUser(int id) { SqlSession session = MybatisUtils.getSqlSession(); int result = -1; try { result = session.delete("com.dao.UserDaoMapper.removeUser", id); session.commit(); } catch (Exception e) { session.rollback(); e.printStackTrace(); } finally { session.close(); } return result; } @Override public Serializable updateUser(User user) { SqlSession session = MybatisUtils.getSqlSession(); int result = -1; try { result = session.update("com.dao.UserDaoMapper.updateUser", user); session.commit(); } catch (Exception e) { session.rollback(); e.printStackTrace(); } finally { session.close(); } return result; }}
阅读全文
0 0
- 使用mybatis开发步骤
- mybatis开发步骤总结
- mybatis开发步骤
- Mybatis开发步骤
- mybatis使用步骤
- mybatis使用步骤
- mybatis使用步骤
- MyBatis基本使用步骤
- myBatis使用步骤
- mybatis使用步骤
- Mybatis框架使用步骤
- Mybatis 简单使用步骤
- 使用mybatis步骤
- Mybatis使用PageHelper步骤
- Java Web 中使用Mybatis开发的步骤
- Mybatis开发步骤附代码
- 【mybatis】mybatis的逆向工程使用步骤
- mybatis的简单使用步骤
- java.util.ConcurrentModificationException:并发修改异常!
- 系统调用和进程切换时的寄存器信息保存在哪里?
- 递归、迭代、到动态规划
- rabmitmq整合spring
- java对象生命周期,以及对象访问。
- 使用mybatis开发步骤
- Kylin+superset可视化
- source insight 4.0中宏定义做为函数返回值时,函数识别错误
- linux驱动由浅入深系列:camera驱动之一(背景及基础知识篇)
- fork/join模式中fork和invokeAll的区别
- 点九图使用
- Tricky Sum
- nyoj LYQの字符串(尺取法)
- 静态变量、全局变量和局部变量