MyBatis(二) 使用MyBatis改写及SqlSession
来源:互联网 发布:java架构师要求 编辑:程序博客网 时间:2024/05/17 07:21
MyBatis中的SqlSession
作用:
1.向SQL语句传入参数
2.执行SQL语句
3.获取执行SQL语句的结果
4.事务的控制
获取SqlSession
1.通过配置文件获取数据库连接相关信息
2.通过配置信息构建SqlSessionFactory
3.通过SqlSessionFactory打开数据库会话
DBAccess.java
package com.example.db;import java.io.IOException;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;/** * 访问数据库类 * * @author Jeremy_Lin * */public class DBAccess {// 异常抛给Dao层去处理 public SqlSession getSqlSession() throws IOException {// 通过配置文件获取数据库连接信息Reader reader = Resources.getResourceAsReader("com/example/config/Configuration.xml");// 通过配置信息构建一个SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);// 通过sqlSessionFactory打开一个数据库会话SqlSession sqlSession = sqlSessionFactory.openSession();return sqlSession;}}
Configuration.xml
来自mybatis下src\test\java\org\apache\ibatis\submitted\complex_property
<?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><!-- <settings> <setting name="useGeneratedKeys" value="false"/> <setting name="useColumnLabel" value="true"/> </settings> <typeAliases> <typeAlias alias="UserAlias" type="org.apache.ibatis.submitted.complex_property.User"/> </typeAliases> --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="" value=""/> </transactionManager> <dataSource type="UNPOOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/micro_message"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/config/sqlxml/Message.xml"/> </mappers></configuration>
Message.xml
来自mybatis下src\test\java\org\apache\ibatis\submitted\complex_property的User.xml
<?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="Message"> <resultMap type="com.example.bean.Message" id="MessageResult"> <!-- 主键 --> <id column="ID" jdbcType="INTEGER" property="id"/> <result column="COMMAND" jdbcType="VARCHAR" property="command"/> <result column="DESCRIPTION" jdbcType="VARCHAR" property="description"/> <result column="CONTENT" jdbcType="VARCHAR" property="content"/> </resultMap> <!-- id唯一 可通过namespace区分 即不同的namespace下可以有相同的id --> <select id="queryMessageList" resultMap="MessageResult"> select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE where 1 = 1 </select></mapper>
MessageDao.java
package com.example.dao;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.example.bean.Message;import com.example.db.DBAccess;/** * * 和message表相关的数据库操作 * * @author Jeremy_Lin * */public class MessageDao {/** * 根据查询条件查询消息列表 */public List<Message> queryMessageList(String command, String description) {DBAccess dbAccess = new DBAccess();List<Message> messageList = new ArrayList<Message>();SqlSession sqlSession = null;try {sqlSession = dbAccess.getSqlSession();// 通过sqlSession执行SQL语句 namespace.idmessageList = sqlSession.selectList("Message.queryMessageList");} catch (IOException e) { // 在Dao层处理异常e.printStackTrace();} finally {if (sqlSession != null) {sqlSession.close();}}return messageList;}public static void main(String[] args) {MessageDao messageDao = new MessageDao();messageDao.queryMessageList("", "");}}
代码:点击打开链接
阅读全文
0 0
- MyBatis(二) 使用MyBatis改写及SqlSession
- Mybatis(二)-----------------Sqlsession
- MyBatis集合Spring(二)之SqlSession
- Mybatis源码(二)之Spring整合mybatis创建SqlSession
- Mybatis学习(七)mybatis中的SqlSession使用的范围
- Mybatis SqlSession
- mybatis sqlsession
- MyBatis sqlSession
- mybatis使用之SqlSession获取
- Mybatis中sqlSession使用事项
- 【Mybatis】深入浅出MyBatis(4)-Sqlsession
- MyBatis学习总结(1)----SqlSessionFactory,SqlSession及配置文件
- SqlSession的使用范围---Mybatis学习笔记(五)
- SqlSession的使用范围---Mybatis学习笔记(五)
- 使用ThreadLocal管理Mybatis中SqlSession对象
- 单一使用Mybatis, SqlSession 注意项
- MyBatis源码分析(三)-SqlSession理解
- (四)MyBatis源码解析之SqlSession
- 初识jQuery
- JSP页面乱码的几种解决方案
- Sublime环境搭建
- 通过Vmstat诊断虚拟内存找出内存IO瓶颈
- maven的安装及配置一
- MyBatis(二) 使用MyBatis改写及SqlSession
- win7 64位系统android环境搭建
- 白化ZCA
- 反射的简单应用
- 高效遍历Mat数组
- Python写一个简单的爬虫样例(不超过50行代码)
- 基于Spring Boot和Kotlin的联合开发
- 从java内存模型(堆、栈、方法区)分析我的List出了什么问题_list与static一起用的坑
- 终极版阿里云ECS实例centos7.2 python升级与yum\pip的对应配置