MyBatis框架配置与使用1
来源:互联网 发布:js怎么隐藏标签 编辑:程序博客网 时间:2024/05/21 19:50
想要使用一个MyBaties首先我们需要把架包下载好,
架包如下图所示
我们把架包放入项目中的lib文件夹后创建一个resources的文件夹。创建方式如下:
选中项目名→右键→鼠标悬浮在new这个选项→看到Source Folder后单击。然后会弹出以下框。
注意:这个文件夹的命名必须为resources
然后我们单击finish就创建好了这个文件夹。然后我们在resources文件夹下创建一个database.properties文件,一个log4j.properties的文件,一个mybatis-config.xml文件。
database.properties文件配置如下
#MySql的JDBC驱动 driver=com.mysql.jdbc.Driver #url=jdbc:mysql://本机ip地址:mysql的端口号/数据库名/转码 url=jdbc:mysql://127.0.0.1:3306/prisoner? useUnicode=true&characterEncoding=utf-8 #Mysql的用户名 user=root #密码 password=123
log4j.properties的配置文件只需把以下代码放复制进去就可以了
log4j.rootLogger=DEBUG,CONSOLE,file#log4j.rootLogger=ERROR,ROLLING_FILElog4j.logger.cn.smbms.dao=debuglog4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug log4j.logger.java.sql.ResultSet=debug log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debuglog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.Threshold=errorlog4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%nlog4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.DatePattern=yyyy-MM-ddlog4j.appender.file.File=log.loglog4j.appender.file.Append=truelog4j.appender.file.Threshold=errorlog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%nlog4j.logger.com.opensymphony.xwork2=error
mybatis-config.xml文件配置如下所示:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- 通过这个配置文件完成mybatis与数据库的连接 --><configuration> <!-- resource="database.properties"引入外部样式 优先外部样式 --> <properties resource="database.properties"/> <!-- 配置mybatis的log实现为LOG4J --> <settings> <setting name="logImpl" value="LOG4J" /> </settings> <environments default="development"> <environment id="development"> <!--配置事务管理,采用JDBC的事务管理 --> <transactionManager type="JDBC"></transactionManager> <!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 --> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <!-- 将mapper文件加入到配置文件中 --> <mappers> <mapper resource="com/t/dao/typeMapper.xml"/> </mappers></configuration>
弄完配置文件我们分层一个Entity实体层、dao层、test测试层和util工具层
如下图所示:
实体层typeEntity代码
package com.t.entity;public class typeEntity { private int tid; private String typename; private int ftid; public int getTid() { return tid; } public void setTid(int tid) { this.tid = tid; } public String getTypename() { return typename; } public void setTypename(String typename) { this.typename = typename; } public int getFtid() { return ftid; } public void setFtid(int ftid) { this.ftid = ftid; }}
util工具层MyBatisUtil.java代码
package com.t.util;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 MyBatisUtil { //声明一个私有SqlSessionFactory private static SqlSessionFactory sf; //程序一开始运行时就获得sf对象 static{ try { InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); sf = new SqlSessionFactoryBuilder().build(in); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //获得执行对象 public static SqlSession getSqlSession(){ return sf.openSession(); } //关闭执行对象 public static void closeSqlSession(SqlSession s){ if(s!=null){ s.close(); } }}
dao层typeMapper.xml的代码:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace="接口路径" resultType="返回值" parameterType="传进来的参数类型" 我这里返回的是一个实体 里面用了sql的动态拼接 如果name!=null并且name!=""就拼接字符串 typename like concat('%',#{name},'%')是模糊查询--><mapper namespace="com.t.dao.typeMapper"> <select id="selectType" resultType="com.t.entity.typeEntity" parameterType="String"> select * from type <if test="name!=null and name!=''"> where typename like concat('%',#{name},'%') </if> </select></mapper>
dao层typeMapper.java的代码:
package com.t.dao;import java.util.List;import org.apache.ibatis.annotations.Param;import com.t.entity.typeEntity;public interface typeMapper { /** * @Param("name")引号里面的命名必须和typeMapper中#{name}占位符的{}里面的命名一样 */ public List<typeEntity> selectType(@Param("name") String name);}
test测试层test.java的代码:
package com.t.test;import java.util.List;import com.t.dao.typeMapper;import com.t.entity.typeEntity;import com.t.util.MyBatisUtil;public class Test { public static void main(String[] args) { /** * 因为我传的是一个""没有值,并且我的是一个模糊查询所以能查询全部数据 * typeMapper.class是dao层的接口 * selectType("")是dao层typeMapper.java里面的方法 */ List<typeEntity> tlist = MyBatisUtil.getSqlSession().getMapper(typeMapper.class).selectType(""); for (typeEntity t : tlist) { System.out.println(t.getTypename()); } }}
我在mysql里面的某个数据库新建一个表,表内容如下图:
我查询出的数据如下图所示:
这就完成了一个简单的模糊查询功能
阅读全文
0 0
- MyBatis框架配置与使用1
- MyBatis框架配置与使用2
- 一、MyBatis框架的配置与基本使用
- MyBatis框架理解与使用
- mybatis配置与使用(1)
- mybatis-memcached框架配置
- mybatis 框架的配置
- mybatis框架的配置
- MyBatis框架的配置
- Mybatis(框架配置)
- Spring和Mybatis 配置与使用
- MyBatis框架环境变量配置及简单使用教程
- MyBatis框架的使用
- MyBatis框架的使用
- MyBatis框架的使用
- SpringSide使用MyBatis框架
- Mybatis框架使用步骤
- mybatis框架缓存使用
- fstab(开机自动挂载文件)
- Github开源项目(企业信息化基础平台)
- 基于OKhttp的MVP封装
- 正则化方法:防止过拟合,提高泛化能力
- poj日记(2632)
- MyBatis框架配置与使用1
- C语言等待一秒,延时函数sleep()
- 【计算方法笔记】python四阶Runge-Kutta法
- 为项目整合Spring Boot Acuator
- poj2505:A multiplication game(Hash)
- 9. java.util.Collections
- 在ROS中使用中文语音交互(百度语音baidu_speech)
- Okhttp2同步,异步 get,post
- Effective TensorFlow Chapter 9: TensorFlow模型原型的设计和利用python ops的高级可视化