MyBatis 入门级配置文件
来源:互联网 发布:免费淘宝账号和密码 编辑:程序博客网 时间:2024/09/21 06:36
步骤:第一步
导入jar包
三个jar包 1、日志文件的包 2、mysql数据库驱动的包 3、MyBatis的包
第二步
配置文件
先看:目录结构是这样的
和src的同级建立 的名为 resources 的0 Source Folder文件包 (配置文件都放在这个 目录下)
1、开始配置核心MyBatis配置文件 在resources目录下新建文件 起名 问mybatis-config.xml 写入配置信息
<?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><!-- 引入 database.properties 文件 --><properties resource="database.properties" /><!-- 配置 mybatis的log实现为log4j --><settings><setting name="logImpl" value="LOG4J" /><setting name="autoMappingBehavior" value="FULL"/> <setting name="cacheEnabled" value="true"/></settings><!-- 给实体类一个别名,映射文件中可直接使用实体类名 --><typeAliases><package name="cn.smbms.entity"/></typeAliases><!-- 配置mybatis多套运行环境 --><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="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><!-- 将mapper映射 文件加入到配置文件中 --><mappers><package name="cn/smbms/dao"/></mappers></configuration>
2、配置数据库连接的database.properties (或者不用配置 直接在mybatis配置文件中 dataSource节点下写死)
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/smbmsusername=rootpassword=root
3、配置log4j
### u8BBE\u7F6E Logger \u8F93\u51FA\u7EA7\u522B\u548C\u8F93\u51FA\u7684\u76EE\u7684\u5730 ###log4j.rootLogger=debug,stdout,logfile### \u628A\u65E5\u5FD7\u4FE1\u606F\u8F93\u5165\u5230\u63A7\u5236\u53F0 ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayout### \u628A\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u5230\u6587\u4EF6:jbit.log ###log4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=jbit.loglog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %p %m%n
文件配置到此基本完成 了
第三步
写实体类 生成get set方法 注意如果需要有参构造函数,一定把无参构造函数保留下来
第四部
配置 实体的映射文件 一般命名为 实体类名+Mapper 和接口一起写到dao层下 并且和接口名一致
<?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="cn.smbms.dao.BillMapper"><select id="getBilList" resultMap="billList" parameterType="Map">select b.billCode,b.productName,p.proName,b.totalPrice,b.isPayment,b.creationDate from smbms_bill b ,smbms_provider pwhere productName like concat('%',#{productName},'%') and isPayment=#{isPayment} and proName like concat('%',#{proName},'%')and b.providerId=p.id</select><!-- 增加订单 --><insert id="add" parameterType="cn.smbms.entity.Bill">insert into smbms_bill(billCode,productName,productDesc,productUnit,productCount,totalPrice,isPayment,createdBy,creationDate,modifyBy,modifyDate,providerId) values (#{billCode},#{productName},#{productDesc},#{productUnit},#{productCount},#{totalPrice},#{isPayment},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate},#{providerId})</insert><delete id="delete">delete from smbms_bill where id=#{id}</delete><!-- 修改 --><update id="update">update smbms_bill set totalPrice=#{totalPrice},modifyDate=#{modifyDate},modifyBy=#{modifyBy} where id=#{id}</update><resultMap type="cn.smbms.entity.Bill" id="billList"></resultMap></mapper>
第五步
简单测试 编写测试类测试结果
package cn.smbms.test;import java.math.BigDecimal;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import cn.smbms.dao.BillMapper;import cn.smbms.entity.Bill;import cn.smbms.util.MyBitisUtil;public class BillTest {public static void main(String[] args) {SqlSession sqlSession=null;Bill bill=new Bill("BILL2016_019", "大豫竹", "食品","包", 2000, 20000, 2, 1, new Date());int count=0;try {sqlSession=MyBitisUtil.createSqlSession();/*Map<String, String> billMap=new HashMap<String, String>();billMap.put("productName", "大豆");billMap.put("isPayment", "2");billMap.put("proName", "");List<Bill> billList=sqlSession.getMapper(IBillMapper.class).getBilList(billMap);for (Bill bill : billList) {System.out.println(bill.getBillCode()+"--"+bill.getProductName()+"--"+bill.getProName()+"--"+bill.getTotalPrice()+"--"+bill.getIsPayment()+"--"+bill.getCreationDate());}*//** * 增加 *///count=sqlSession.getMapper(IBillMapper.class).add(bill);/** * 删除 */count=sqlSession.getMapper(BillMapper.class).delete(22);/** * 修改 *///count=sqlSession.getMapper(IBillMapper.class).update(20, new Date(), 1, 1000);sqlSession.commit();System.out.println(count);} catch (Exception e) {// TODO: handle exception}finally{MyBitisUtil.closeSqlSession(sqlSession);}}}
测试通过 则连接成功
注意: 这里编写了一个执行创建、连接、关闭的的工具类 MyBatisUtil
package cn.smbms.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 MyBitisUtil {static SqlSessionFactory factory=null;static {//在静态代码块下,factory只会被执行一次try {InputStream is=Resources.getResourceAsStream("mybatis-config.xml");factory=new SqlSessionFactoryBuilder().build(is);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}//创建SqlSession对象public static SqlSession createSqlSession(){return factory.openSession(false);//true 为自动提交}//关闭SqlSession对象public static void closeSqlSession(SqlSession sqlSession){if(null!=sqlSession){sqlSession.close();}}}
测试完成!!!
阅读全文
2 0
- MyBatis 入门级配置文件
- MyBatis 入门开发 ----配置文件
- Mybatis的配置文件入门介绍
- Mybatis入门以及配置文件解析
- MyBatis入门(三)-mybatis配置文件优化
- Mybaits入门到精通-3、MyBatis配置文件
- MyBatis配置文件
- mybatis 配置文件
- mybatis配置文件
- mybatis 配置文件
- MyBatis配置文件
- Mybatis配置文件
- mybatis配置文件
- mybatis配置文件
- mybatis配置文件
- mybatis配置文件
- mybatis配置文件
- mybatis配置文件
- PullToRefresh添加轮播图为头布局
- 链表题_1
- Android 仿萤石客户端横向滚动时间轴
- centos 6.8的iptables不同于7
- 静态变量的初始化,静态变量在类内定义,在类外进行初始化。
- MyBatis 入门级配置文件
- 文本处理三剑客之sed
- ADS-B及雷达显示终端7.2
- LinuxStudyNote(6)-Linux常用命令(2)-文件处理命令(1)-目录处理命令ls、所有者所属组其他人、文件权限、i节点
- nvidia-smi 命令解读
- 线程中用Thread还是runable
- android配置集成CI持续化开发工具Jenkins
- curl常见返回错误码<转载>
- js基础-引用类型-Array对象 ★★★☆