第一节:mybatis入门

来源:互联网 发布:js srcelement 编辑:程序博客网 时间:2024/05/16 23:43

因为连接数据库的大部分代码是一样的,所以就有一些持久化框架来完成对数据库的操作。现在使用最多的是mybatis和hibernate,最方便的是hibernate,但效率是最低的,jdbc是最麻烦的,但却是效率最高的。mybatis的效率比hibernate好得多。所以,最后,我选择使用了mybatis。

mybatis有一份中文文档,地址是:点击打开链接

在这里,可以选择语言。但这里是不支持下载包的,需要自行去下载。

我这里,介绍一下一个入门过程,也是分步的。

第一步:把jar包导入到项目

因为需要连接数据库,所以需要导两个包,一个是mybatis的包,还有一个是数据库的驱动包。我使用的mysql,导入后如下图所示:


第二步:创建相关的config.xml文件

1.在src根目录创建一个mybatis的相关配置文件,我自己创建的名字是mybatis-config.xml,这个名字可以自定义。
这个配置文件大概是这个样子,它需要配置的东西,最主要的是上面的数据源,用来与数据库的链接。我在上面加上注释吧。

<?xml version="1.0" encoding="UTF-8" ?>  <!-- 这个东西一定要加,它是xml的语法规则,加上这句话后,才会有代码提示 --><!DOCTYPE configuration  PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 这个是要使用的环境,我们会配置多个环境,一个开发环境,一个生产环境,我们测试的时候,就使用开发环境 --><environments default="development"><!-- 这里是创建了一个开发环境,我们也可以再创建其它环境,但要使用它,必须在上面更改 --><environment id="development"><!-- 使用的事务管理,默认的使用的是jdbc,JDBC – 这个配置就是直接使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务范围 我觉得,最后,去读一下文档,有更详细地介绍 --><transactionManager type="JDBC" /><!-- 数据源,也可以使用其它连接池,这个,在文档也有介绍,可以支看一下,了解一下这方面的知识 --><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><!-- 映射文件, MyBatis 去哪里找映射文件,剩下的细节就应该是每个 SQL 映射文件了,后面再介绍怎么用这个 --><mappers><mapper resource="org/mybatis/example/BlogMapper.xml" /></mappers></configuration>



第三步:创建实体类

现在,就可以去创建一个实体类了,譬如下面这样:
public class TestMyBatis {private String usernameString;public String getUsernameString() {return usernameString;}public void setUsernameString(String usernameString) {this.usernameString = usernameString;}}

这是最简单的一个类,只有一个string变量,然后是它的get和set方法。

第四步:创建映射文件

有了上面的实体类以后,就需要创建一个映射文件,一般是使用的类名相同的名字,但后缀是xml。
创建配置文件的规则也非常简单,这里是文档连接:映射文件规则
这个映射文件,要添加到我们创建的config文件中,就是最下面的mapper
<?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="cc.penrose.test.TestMyBatis"><!-- id这个参数,是给这个方法起的一个id名字,parameterType是参数,这个是insert方法,要插入数据,所以直接传一个对象进来 --><insert id="add" parameterType="cc.penrose.test.TestMyBatis"><!-- 这是一条sql语句,${usernameString} 东西的意思,就是会去调用getUsernameString这个方法-->insert mytest (adress) values (${usernameString});</insert></mapper>

第五步:创建SQLSession,完成对数据库的操作

@Testpublic void test() {InputStream inputStream;try {//声明配置文件的地址String resource = "mybatis-config.xml";//根据配置文件地址来创建一个输入流inputStream = Resources.getResourceAsStream(resource);//根据配置文件输入流,来创建SqlSessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//打开一个sessionSqlSession session = sqlSessionFactory.openSession();//新创建一个对象TestMyBatis testMyBatis = new  TestMyBatis();testMyBatis.setUsernameString("hello world,hahaha");//执行sql方法,第一个参数是我们mapper文件里声明的哪个方法的全称,第二个是方法的参数session.insert("cc.penrose.test.TestMyBatis.add", testMyBatis);System.out.println(session.toString());//提交事务session.commit();//关闭事务session.close();} catch (IOException e) {e.printStackTrace();}}

最终结果:



0 0
原创粉丝点击