一个简单的MyBatis程序
来源:互联网 发布:sql win7 64位下载 编辑:程序博客网 时间:2024/06/08 13:38
一、创建工程,引入JAR包
新建一个工程,并在WEB-INF目录下的lib文件夹下粘贴mybatis的jar包。准备好MySQL数据库并插入数据,在model模型层新建一个bean。
package model;public class Message { private String id; private String command; private String description; private String content; public Message(){} public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCommand() { return command; } public void setCommand(String command) { this.command = command; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getContent() { return content; } public void setContent(String content) { this.content = content; }}
二、引入核心配置文件,并通过类读取文件内容
在mybatis的源码包下找到configuration.xml文件,新建一个专门的config包用于放置配置文件。其中datasource中的四个property就对应着JDBC中的四个属性。
<?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://localhost:3306/message"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="config/message.xml"/> <!-- 将配置的mapper引入到核心文件 --> </mappers></configuration>
我们可以新建一个DBAccess类进行配置文件信息的读取,代码如下:
public class DBAccess { public SqlSession getSqlSession() throws IOException{ //通过核心配置文件获取数据库连接信息 Reader reader = Resources.getResourceAsReader("config/Configuration.xml"); //通过配置信息构建SQLSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); //通过sqlSessionFactory打开一个数据库会话 SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; }}
三、编写DAO层进行数据交互
编写DAO层,首先实例化刚刚编写的读取配置文件的类,以便打开数据库会话,然后通过配置文件进行SQL交互,代码如下:
<?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"> <!-- 命名空间不能省略,类似于package --> <!-- type是对应的bean,id是作为标志,和select标签的返回结果集一致 --> <resultMap type="model.Message" id="MessageResult"> <id column="ID" jdbcType="VARCHAR" property="id"/> <!-- id是查找结果集的主键 --> <!-- column是数据库的列名,jdbcType是类型,property是模型层bean中定义对应的私有化变量 --> <result column="COMMAND" jdbcType="VARCHAR" property="command"/> <result column="DESCRIPTION" jdbcType="VARCHAR" property="description"/> <result column="CONTENT" jdbcType="VARCHAR" property="content"/> </resultMap> <select id="Message.queryAll" resultMap="MessageResult"> SELECT ID,COMMAND,DESCRIPTION,CONTENT FROM message WHERE 1=1 </select></mapper>
public class MessageDAO { public List<Message> queryAll(String comand,String description) throws Exception{ DBAccess dbAccess = new DBAccess(); List<Message> messageList = new ArrayList<Message>(); SqlSession sqlSession = null; try{ sqlSession = dbAccess.getSqlSession();//实例化并打开数据库会话 messageList = sqlSession.selectList("Message.queryAll");//message.xml配置文件中对应ID号的SQL语句 }catch(IOException e){ e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } return messageList; }}
这样就完成了一个简单的mybatis程序。核心是配置文件的创建和获取,并懂得每个标签及其属性的含义。
0 0
- 一个简单的MyBatis程序
- Mybatis 一个简单的例子
- 一个简单的MyBatis例子
- 简单的一个程序
- 一个简单的程序
- 一个简单的程序
- 利用struts2,mybatis,spring,三大框架写的一个简单的查询程序
- 一个简单的mybatis入门demo
- 一个简单的mybatis入门demo
- MyBatis学习(一):一个简单的演示
- 【MyBatis】一个简单的xml配置文件;
- mybatis:一个最简单的实例
- 一个简单的SpringBoot整合Mybatis项目
- springboot整合mybatis一个简单的demo
- 一个很好的MyBatis入门示例程序
- 一个简单的解密程序
- 一个简单的XWindow程序
- 一个简单的端口扫描程序
- java synchronized详解
- JavaBean的使用
- Java NIO系列1:从操作系统的角度剖析I/O
- C++中string erase函数的使用(转载)
- iOS - 分类添加属性之关联引用
- 一个简单的MyBatis程序
- linux 下文件颜色
- 构造方法(方法重载)
- nodejs简易爬虫
- 等待/通知机制wait(),notify()
- 100行代码实现简单目录浏览器制作(程序员)
- 欢迎使用CSDN-markdown编辑器
- 【算法之家】——插入排序
- size_t 类型