计算机专业毕业设计外文翻译-中文.docx
《计算机专业毕业设计外文翻译-中文.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业设计外文翻译-中文.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机专业毕业设计外文翻译-中文 入门 每一个MyBatis应该都是以一个SqlSessionFactory实例为中心。一个SqlSessionFactory实例可以使用SqlSessionFactoryBuilder来创造。从配置类中创造的定制SqlSessionFactoryBuilder 实例,可以使用XML配置文件来生成一个SqlSessionFactory实例。 从XML中创造SqlSessionFactory 从XML文件中创造SqlSessionFactory实例是非常简单的。推荐使用一个类路径资源来进行配置,你也可以使用一个Reader实例,甚至使用URL路径。 MyBatis
2、有一个Resources通用类,类中有许多方法可以简单地从类路径和其他地址中加载资源。 Stringresource=org/mybatis/example/Configuration.xml;Readerreader=Resources.getResourc eAsReader(resource);sqlMapper=newSqlSessionFactoryBuilder().build(reader);XML文件包含了许多MyBatis的核心设置,包括一个获取数据库连接(Connection)实例的数据源(DataSource),和一个决定事务作用域和操作的TransactionManag
3、er。全部的XML配置文件的内容将在以后提到,先给出一个简单的样子。 XML配置文件中还有其它许多内容,上面的例子只是指出了最重要的部分。注意这个XML的标头,需要一个DTD验证文档。environment项里包含了事务管理和连接池的环境配置。mappers项中包含了一系列SQL语句映射定义的XML文件。 不使用XML文件新建SqlSessionFactory 如果你更想直接使用Java语言而不是XML来生成这些配置,更或者你想使用自己的配置生成器,MyBatis提供了一个完整的配置类来完成XML文件一样的配置。 DataSourcedataSource=BlogDataSourceFacto
4、ry.getBlogDataSource();TransactionFactorytransa ctionFactory=newJdbcTransactionFactory(); Environmentenvironment= newEnvironment(development,transactionFactory,dataSource);Configurationconfiguration=n ewConfiguration(environment);configuration.addMapper(BlogMapper.class);SqlSessionFactorysqlS ession
5、Factory= newSqlSessionFactoryBuilder().build(configuration); 这个配置里,加载了一个映射类。映射类是包含了SQL映射注解的Java类,可以用来取代XML。然而,由于Java注解的一些限制和MyBatis映射的复杂性,一些高级的映射还是要用XML来配置,比如嵌套映射等。由于这个原因,MyBatis会自动查找和加载已经存在的XML。比如说上面的代码,BlogMapper.xml将会被类路径中BlogMapper.class加载。以后会详细讨论这些。 使用SqlSessionFactory获取SqlSession 假设你有一个SqlSess
6、ionFactory,你就可以来获取一个SqlSession实例,SqlSession包含了针对数据库执行语句的每一个方法。你可以直接使用SqlSession执行已经映射的每一个SQL 语句。比如: SqlSessionsession=sqlMapper.openSession();try Blogblog=(Blog)session.select( org.mybatis.example.BlogMapper.selectBlog,101);finally session.close();上述步骤对于使用MyBatis的上一个版本(即iBatis2)的用户来说比较熟悉。现在,有一个更加清晰的
7、方式。使用一个有正确参数和返回值的接口,你就可以更加清晰和安全地编写代码,从而避免出错。像这样: SqlSessionsession=sqlSessionFactory.openSession();try BlogMappermapper=session.getMapper(BlogMapper.class);Blogblog=mapper.selectBlog(101); finally session.close(); 现在,让我们开始探究一下步骤的执行细节。 探究SQL映射语句 对于上面所说的,你可能很好奇SqlSession或Mapper类具体是什么执行的。这是一个很复杂的话题,如果要
8、讨论,可能要用占据这个文档的绝大部分。为了给你一个执行过程的概括,现在给出两个例子。在上面的例子中,语句已经由XML或注解所定义。我们先来看一下XML,以前,MyBatis提供的的所有特性,都是基于XML的映射语句来实现。如果你以前使用过MyBatis,那你对这些概念会非常熟悉。但是XML的映射配置文档有了许多改进,以后将会变得越来越简单清晰。下面这个基于XML映射语句可以完成上面的SqlSession调用。 select*fromBlogwhereid=#id 虽然这个简单的例子有点生涩,但是却非常简约。你可以定义多个文件,也可以在一个XML文件里定义任意个映射语句,这样可以省去XML标头。
9、文件的其它部分,都是自身的描述。它定义了一个org.mybatis.example.BlogMapper命名空间,在这个空间里再定义了一个selectBlog语句。也可以使用org.mybatis.example.BlogMapper.selectBlog全名称来调用。我们可以将这样来调用上面这个文件 Blogblog=(Blog)session.select( org.mybatis.example.BlogMapper.selectBlog,101);这和调用一个普通的JA V A类非常相似。这个名字可以直接映射为一个与命名空间相同名称的Mapper类,语句名对应类的方法名,参数和返回值也
10、相对应。你可以用下列语句简单地针对Mapper接口进行调用,代码如下:BlogMappermapper=session.getMapper(BlogMapper.class);Blogblog=mapper.selectBlog(101); 第二种方式有许多优点。一、它不依赖字符串,可以减少出错。二、如果你的IDE有代码自动完成功能,你可以很快导航到你的SQL语句(因为已经转化为方法名)。三、你不再需要设定返回值类型,因为接口限定了返回值和参数。 还有一个关于Mapper类的技巧。它们的映射语句完全不需要使用XML来配置,可以使用JA V A注解方式来取代。比如,上面的XML语句可以替换为:
11、packageorg.mybatis.example;publicinterfaceBlogMapper Select(SELECT*FROMblogWHEREid=#id)BlogselectBlog(intid); 注解是非常简单明了的,但是JA V A注解既有局限性,在语句比较复杂的情况下又比较容易混乱。所以,如果你的语句比较复杂,最好还是使用XML来映射语句。 这主要取决于你和你的项目团队,决定哪个更适合于你,主要还是以稳健为主。也就是说,你不需要制约于哪一种方式,你可以很容易的把注解转为XML,也可以把XML转化为注解。 作用域和生命周期 理解作用域和生命周期类非常重要,如果使用不当
12、,会造成各种各样的问题。 SqlSessionFactoryBuilder 这个类可以被初始、使用和丢弃,如果你已经创建好了一个SqlSessionFactory后就不用再保留它。因此,SqlSessionFactoryBuilder的最好作用域是方法体内,比如说定义一个方法变量。你可以重复使用SqlSessionFactoryBuilder生成多个SqlSessionFactory实例,但是最好不要强行保留,因为XML的解析资源要用来做其它更重要的事。 SqlSessionFactory 一旦创建,SqlSessionFactory就会在整个应用过程中始终存在。所以没有理由去销毁和再创建它,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 毕业设计 外文 翻译 中文
限制150内