首页 > 代码库 > mybatis 入门二

mybatis 入门二

1、新建一个java项目

 

2、加入mybatis.jar和mysql.jar

 

3、加mybatis的配置文件 mybatis.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"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/hibernate" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/hy/mybatis/test/News.xml"/>
    </mappers>
</configuration>
    

注意:1)加入dtd文件 搜索xml --》catalog --》new --》public id --》添加dtd文件

2)environment的两种模式development和work;3)事务管理器:可以使jdbc或者bean容器,比如:spring;4)数据源POOLED表示关闭连接后将连接放入连接池里面。

 

3、新建一个entity,和entity对应的sql映射文件

<?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="com.hy.mybatis.test.News">
    <select id="getUser" parameterType="int" resultType="com.hy.mybatis.test.News">
        select * from news where id=#{id}
    </select>
</mapper>

注意:1)namespace的唯一性,使用所在包+文件名;2)#{id}为占位符

 

4、将sql映射文件引入mybatis主配置文件中。

   <mappers>
        <mapper resource="com/hy/mybatis/test/News.xml"/>
    </mappers>

使用文件路径

 

5、测试:

InputStream is = Test.class.getClassLoader().getResourceAsStream("mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession session = factory.openSession();
        News news = session.selectOne("com.hy.mybatis.test.News.getUser", 1);
        System.out.println(news);

注意:1)这里使用classLoader,也可以使用mybatis中的Resouces类;2)new一个SqlSessionFactoryBuilder;3)selectOne里面的statement参数用sql映射文件的namespace + sql的ID

 

结束---

 

mybatis 入门二