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();}}}




测试完成!!!