mybatis-02配合官方文档入门mybatis

来源:互联网 发布:阿里云ecs和虚拟主机 编辑:程序博客网 时间:2024/06/03 18:59
第一步,

从 XML 中构建 SqlSessionFactory

在自己创建的源码文件夹中加入从官方文档中复制以下xml,随便起个名字:mybatis_conf.xml
<?xml version="1.0" encoding="UTF-8" ?><!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">      <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>  <mappers>    <mapper resource="org/mybatis/example/BlogMapper.xml"/>  </mappers></configuration>
根据经验把driver,url,username,password修改成自己的
比如说mysql:
<property name="driver" value="com.mysql.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>        <property name="username" value="root"/>        <property name="password" value="root"/>
至于下面的mapper暂时先不要管
根据官方文档说明,创建一个sqlSessionFactory对象
复制以下代码(官方文档中的)
String resource = "mybatis_conf.xml";//(全局配置xml文件的路径)
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
还有一种不使用 XML 构建 SqlSessionFactory的方法
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();TransactionFactory transactionFactory = new JdbcTransactionFactory();Environment environment = new Environment("development", transactionFactory, dataSource);Configuration configuration = new Configuration(environment);configuration.addMapper(BlogMapper.class);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

从 SqlSessionFactory 中获取 SqlSession

SqlSession session = sqlSessionFactory.openSession();
你可以用 SqlSession 实例来直接执行已映射的 SQL 语句

例如:
try {  Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);} finally {  session.close();}
selectOne第一个参数是sql的唯一标识,第二个参数是执行sql要用的参数

探究已映射的 SQL 语句

继续复制官方文档的xml,创建一个如下的映射配置文件xml
<?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="org.mybatis.example.BlogMapper">  <select id="selectBlog" parameterType="int" resultType="com.entity.Employee">    select * from Blog where id = #{id}  </select></mapper>
并且把全局配置文件里mapper-resouce的值改为映射配置文件xml的路径名
注意<mapper></mapper>标签里的内容
namespace命名空间,目前可以随便制定
id:指的是sql的唯一标识,parameterTyper是参数的类型,resulType指的是返回的类型,写javabean的全类名
select * from tdb_employee where id = #{id}是要执行的sql语句#{}是表达式,用来传递参数
这样我们就有了一个完全限定名nameSpace.id用来调用sql语句
Employee emp = (Employee)session.selectOne("nameSpace.id", 1);
这里的1会通过#{}表达式传递到sql语句中
执行的语句就会变为 select * from tdb_employee where id = 1;
然后就可以查找出id为1的员工信息了

总结;
javabean封装数据
全局配置文件连接数据库,设置mapper-resouce
映射配置文件,制定nameSpace,id,perameterType,resultType,以及sql语句


原创粉丝点击