第一个Mybatis的例子

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lu__peng/article/details/79084552

写在前面
利用maven创建的Mybatis;
数据库名字为mybatis;
数据表为users,表的结构如图所示;
这里写图片描述
创建Mybatis实例
1.配置Mybatis所以需要的架包

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.44</version>
</dependency>
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.1.1</version>
</dependency>

2.创建用具连接数据库的properties文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis
username=root
password=root

3 创建Mybatis配置文件conf.xml,连接数据库

<!--引用properties文件中的配置数据 -->
<properties resource="mysql-connection.properties" />

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"></transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}" ></property>
            <property name="username" value="${username}" />
            <property name="password" value="${password}" />
        </dataSource>
    </environment>
</environments>
<!-- 指定映射文件的位置(里面定义的时SQL语句)-->
<mappers>
    <mapper resource="data/mapping/Users.xml"/>
</mappers>

4.创建Mybatis映射文件Users.xml,在改文件中我们定义自己所需要的SQL语句

<mapper namespace="data.mapping.Users.i1">
    <!-- 预定义SQL语句,并且指定返回类型Users,参数类型int-->
    <select id="getUser" parameterType="int" resultType="com.inf.user.Users">
        select * from users where id=#{id};
    </select>
</mapper>

需要注意的时,在预定义的SQL语句中使用参数的方式为#{id}
另外一个比较重要的时:namespace,在之前的Mybatis版本中(具体是哪个之前,我没有细查)namespace是不必须的,但是3.1.1中namespace是必须的,官方文档上是这么解释的:
命名空间使得你所见到的接口绑定成为可能,尽管你觉得这些东西未必用得上,你还是应该遵循这里的规定以防哪天你改变了主意。出于长远考虑,使用命名空间,并将它置于合适的 Java 包命名空间之下,你将拥有一份更加整洁的代码并提高了 MyBatis 的可用性。”
5.测试
经过以上四步,Mybatis应用实例就算是配置好了,现在是测试一下,测试代码如下:

String resource = "conf.xml";
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sqlSessionFactory.openSession();
String statement =  "data.mapping.Users.i1.getUser";
Users users = session.selectOne(statement,5);
System.out.println(users.getName()+","+users.getAge());
session.close();

结果如图所示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/lu__peng/article/details/79084552