介绍自己做的电影网站,深圳 做网站 车公庙,网站建设完不管了自己怎么接手,昆明有哪些帮忙做网站的公司MyBatis是一个非常流行且也是最有效的SQL映射框架。 MyBatis可用于Java和.net语言。 MyBatis并不是Hibernate的真正替代品#xff0c;但是我们可以使用该框架来减少MyBatis提供的高效和高性能的数据库相关代码。 本教程将向您展示使用数据库配置MyBatis 3的步骤。 MyBatis 3支… MyBatis是一个非常流行且也是最有效的SQL映射框架。 MyBatis可用于Java和.net语言。 MyBatis并不是Hibernate的真正替代品但是我们可以使用该框架来减少MyBatis提供的高效和高性能的数据库相关代码。 本教程将向您展示使用数据库配置MyBatis 3的步骤。 MyBatis 3支持基于xml和基于注释的配置但是在使用xml配置时可以看到MyBatis的真正功能。 本教程仅向您显示使用xml的配置。 使用的工具 MyBatis 3.0.4 MySql Java连接器5.1 使用MyBatis不需要很多jar只需带驱动程序的MyBatis jar commons-logging-1.1.1.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13-bin.jar 在本教程中我们将配置MyBatis将pojo类对象存储到数据库表中。 以下是在此示例中将使用的数据库表 CREATE TABLE Product(id int primary key, brand varchar(20),model varchar(20), name varchar(30)); 因此首先在要用于存储的数据库中创建此表。 以下是将映射到表产品的Product类 package com.raistudies.domain;import java.io.Serializable;public class Product implements Serializable{private static final long serialVersionUID -1900054678340682193L;private long id;private String brand;private String model;private String name;// Getter and setter are removed to make the short} 我们将看到将上述内容映射到数据库表产品所要执行的配置。 在MyBatis 3中我们有两种类型的配置文件 环境规范配置文件将只有一个文件定义MyBatis映射框架要使用的环境设置。 该文件定义了与数据库连接驱动程序事务管理连接池其他映射文件相关的设置以及许多我们将在后续教程中看到的设置。 映射文件 MyBatis框架的一个应用程序中可以有多个映射文件。 映射文件包含有关在Java接口中定义的相关服务集的信息。 它定义了用于特定服务的参数化SQL语句输入了SQL参数并且还定义了由SQL语句返回的结果数据的返回映射。 这就是说我们的示例中将有两个xml文件一个用于环境设置另一个将是与Product类相关的服务的映射文件。 以下是环境规范配置xml文件 ?xml version1.0 encodingUTF-8?
!DOCTYPE configuration
PUBLIC -//mybatis.org//DTD Config 3.0//EN
http://mybatis.org/dtd/mybatis-3-config.dtdconfigurationsettingssetting namelazyLoadingEnabled valuefalse //settingstypeAliasestypeAlias typecom.raistudies.domain.Product aliasproduct//typeAliasesenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost/test/property nameusername valueroot/property namepassword valuepass//dataSource/environment/environmentsmappersmapper resourcecom/raistudies/services/ProductServices.xml//mappers/configuration 如您所见configuration /保留了配置并且有许多标签定义了MyBatis映射框架的设置。 我们将一一看到以上所有设置 settings / 此标签用于指定一些用于整个MyBatis应用程序的通用设置。 上面的文件文件包含将属性“ lazyLoadingEnabled”设置为禁用的示例。 在接下来的教程中我们将看到更多设置选项。 typeAliases标记将允许为我们的域类使用定义别名以便以后在任何MyBatis配置文件中使用。 environments /标签用于定义与数据库相关的设置。 我们可以有多个环境设置但是MyBatis将一次使用默认属性指定的一个环境。 mappers此标记用于定义映射文件xml文件的位置。 我们可以定义多个映射文件。 在界面中定义服务 之后您必须创建一个接口该接口将定义我们要提供的服务。 在is接口之后该接口仅为域类Product定义了一种“保存”方法 package com.raistudies.services;import com.raistudies.domain.Product;public interface ProductServices {public void save(Product product);
} 现在我们必须为此服务定义映射文件。 以下是接口的映射文件 ?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN
http://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.raistudies.services.ProductServicesinsert idsave parameterTypeproductINSERT INTO Product (id,brand,model,name)VALUE ( #{id}, #{brand}, #{model}, #{name} )/insert/mapper 映射文件将包含元素mapper /来定义服务的SQL语句。 在这里属性“ 名称空间 ”定义了已为其定义此映射文件的接口。 insert /标记定义该操作为插入类型。 “ id ”属性的值指定为其定义操作的函数名称。 这是保存。 属性“ parameterType ”定义方法的参数是哪种类型。 我们在这里为产品类使用了别名。 然后我们必须定义SQL语句。 {id}定义将Product类的属性“ id ”作为参数传递给SQL查询。 创建MyBatis会话并使用产品服务 以下是我们的测试类该类创建MyBasit的Session然后使用ProductService接口的save方法保存Product类的实例 package com.raistudies.runner;import java.io.IOException;
import java.io.Reader;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.raistudies.domain.Product;
import com.raistudies.services.ProductServices;public class AppTester {private static SqlSessionFactory sessionFac null;private static Reader reader;private static String CONFIGURATION_FILE sqlmap-config.xml;static{try {reader Resources.getResourceAsReader(CONFIGURATION_FILE);sessionFac new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {SqlSession session sessionFac.openSession();try {ProductServices productServiceObj session.getMapper(ProductServices.class);Product product new Product();product.setId((long)(Math.random()*100));product.setBrand(LG);product.setModel(P500);product.setName(Optimus One);productServiceObj.save(product);session.commit();} finally {session.close();}}} session.getMapper方法提供由MaBatis框架在运行时定义的接口的默认实现。 运行此示例时记录将保存到数据库表中。 MyBatis配置插入语句结果 您也可以通过从以下链接下载示例代码来尝试该示例 来源库 下载 参考来自Rai Studies博客的JCG合作伙伴 Rahul Mondal 配置MyBatis 3 。 翻译自: https://www.javacodegeeks.com/2012/01/configuring-mybatis-3.html