一起学MyBatis之入门篇
概述本文以一个简单的小例子,简述在Java项目开发中MyBatis的基本用法,属于入门级文章,仅供学习分享使用,如有不足之处,还请指正。 什么是MyBatis?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis环境的搭建环境搭建步骤: 1. 新建一个Java Project,并引入需要的Jar包。MyBatis需要的Jar包,共2个,如下所示: 1 //MyBatis包 2 mybatis-3.5.3.jar 3 MySql数据库连接驱动包 4 mysql-connector-java-5.1.6.jar 2. 新增MyBatis配置文件在src目录下,新增一个MyBatis的配置文件【mybatis-config.xml】,主要配置数据库连接相关环境信息和Mapper信息,具体内容如下:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration 6 <!-- 加载配置文件db.properties --> 7 properties resource="db.properties"></properties 8 通过指定environments的default值和 environment的id,指定mybatis运行的数据库环境 9 environments default="development"10 environment id11 transactionManager type="JDBC" /> 12 dataSource数据源类型: 13 UNPOOLED:不采用连接池,默认采用JDBC的方式,需要没有连接打开关闭 14 POOLED:采用连接池进行数据库连接 15 JNDI:从Tomcat中获一个内置的数据库连接池 16 17 dataSource ="POOLED"18 property name="driver" value="${jdbc.driver}" 19 ="url"="${jdbc.url}" 20 ="username"="${jdbc.username}" 21 ="password"="${jdbc.password}" 22 </dataSource23 environment24 environments25 mappers26 mapper ="com/hex/mybatis/ProductMapper.xml" 27 28 > 3. 新增加一个模型类本例中新增加一个Product类,包含三个属性,代码如下: package com.hex.mybatis; 2 3 /** 4 * 产品类模型 * @author Administrator 6 * 7 */ 8 public class Product { 9 10 private String pid; 产品ID 11 private String pname; 产品name 12 private float price; 产品价格 13 14 public Product() { 15 16 } 17 18 public Product(String pid,String pname,float price) { 19 this.pid = pid; 20 this.pname = pname; 21 this.price = price; 22 23 String getPid() { 25 return26 void setPid(String pid) { 28 29 30 String getPname() { 31 32 33 setPname(String pname) { 34 35 36 getPrice() { 37 38 39 void setPrice(40 41 42 43 @Override 44 String toString() { 45 TODO Auto-generated method stub 46 return "PID="+this.pid+",PNAME="+this.pname+",PRICE="+this.price; 47 48 } 4. 新增加Mapper文件增加ProductMapper.xml文件,用于操作数据库,包含数据表Products的CRUD操作。如下所示:
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" namespace 是mapper文件的唯一标识符 namespace="com.hex.mybatis.ProductMapper"<!-- id:唯一标识符 9 parameterType:标识输入参数类型 10 resultType:返回对象的类型 select ="queryProductById" resultType="com.hex.mybatis.Product" 13 parameterType="String" select * from Products where pid = #{id} 15 select16 17 查询,注意:返回一个值和多个值,resultType一样 ="queryProductAll"="com.hex.mybatis.Product"19 select * from Products where 1=1 20 21 22 插入:parameterType:输入参数类型,在形式上只能有一个,可以是简单类型,也可以是对象类型。 23 如果是对象类型,以 #{属性名} 格式,不可以乱写 24 insert ="addProduct" parameterType="com.hex.mybatis.Product" insert into Products(pid,pname,price)values(#{pid},#{pname},#{price}) insert28 29 更新 update ="updateProductById" parameterType31 update products set pname=#{pname},price=#{price} where pid=#{pid} 32 update33 34 删除 35 delete ="deleteProductById"36 delete from products where pid=#{pid} 37 deletemapper4. 使用方法 |