ibatis在web工程中的应用笔记


  谈到ibatis大家可能都会想到hibernate 我想是的!
  首先.我们要知道ibatis跟hibernate所存在的区别,各自的优势。就比较好学习了,而不会混了去。
  在javaeye我找到一篇很好的博文:【不是自己写的:ibatis:sql需要自己写
hibernate:sql自动生成
上面是最大的区别,下面是一些细节.有下载.



步骤:三拷三配

需拷开发包、pojo的映射文件 总的映射文件  强烈推荐看ibatis的帮助文档。有下载下面


pojo类的映射文件头子:
       <?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper 
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

总的映射文件头子:
      <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
                       "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<!--下面是配置信息-->
<!-- ibatis 是sql语句映射  而 hibernate是对象映射 -->
<mapper namespace="com.pojos">
   <select id="getAllDep" resultType="com.pojos.Dep">
     select * from Dep
   </select>
  
</mapper>



<!--下面是总配置文件的相关-->
<configuration>
     <!-- 全局配置,请参考手册 -->
    <settings>
       <setting name="cacheEnabled" value="true"/>
    </settings>
   
    <!-- 类型取别名 -->
    <typeAliases>
       <typeAlias type="com.pojos.Dep" alias="Dep"/>
    </typeAliases>
   
    <!-- 环境设置,一种数据库对应一种环境development -->
    <environments default="development">
        <environment id="MySql">
             <!-- 事务管理,一般用jdbc,或手工 -->
            <transactionManager type="JDBC"></transactionManager>
           
            <!-- 连接数据库:可以连接池POOLED或UNPOOLED不使用连接池 -->
            <dataSource type="POOLED">
                 <property name="username" value="root"/>
                 <property name="password" value="admin"/>
                 <property name="driver" value="com.mysql.jdbc.Driver"/>
                 <property name="url" value="jdbc:mysql://localhost/test"/>
            </dataSource>
        </environment>
       
        <environment id="Oracle">
             <!-- 事务管理,一般用jdbc,或手工 -->
            <transactionManager type="JDBC"></transactionManager>
           
            <!-- 连接数据库:可以连接池POOLED或UNPOOLED不使用连接池 -->
            <dataSource type="UNPOOLED">
                 <property name="username" value="scott"/>
                 <property name="password" value="tiger"/>
                 <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                 <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ora92"/>
            </dataSource>
        </environment>
    </environments>
   
    <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="com/pojos/Dep.xml"/>
    </mappers>
</configuration>                      


<!--在测试类中的-->
    //读取配置文件
Reader  reader = Resources.getResourceAsReader("config.xml");
//创建session工程
SqlSessionFactory  factory = new SqlSessionFactoryBuilder().build(reader,"MySql");

    SqlSession session=factory.openSession();
   
    List<Dep> list=session.selectList("com.pojos.getAllDep");
    for (Dep dep : list) {
    System.out.println(dep.getDepname());

}
//说明   List<Dep> list=session.selectList("com.pojos.getAllDep");
中的com.pojos.getAllDep  :是配置的空间名称.sql语句的id 


这只是一种做法,还一种就是建立一个接口dao .封装了映射文件里面的id.将id名称全部写成了接口。 引用只要在映射文件里面的空间名称改成该接口路径到类名

下篇接着笔记 .哈哈  


你可能感兴趣的:(sql,Web,Hibernate,ibatis,配置管理)