首页 > 代码库 > MyBais入门

MyBais入门

MyBais入门

---恢复内容开始---

MyBatis与Hibernate的比较

MyBatis与Hibernate都属于ORM框架,为数据层提供持久化操作做支持。

MyBatis的优点

1.简单且功能强大,通过Sql映射文件和SqlSsession能够实现数据持久层的功能。

2.可已完全控制执行的sql语句。

3.容易维护和修改,Sql语句写在配置文件里。

导入jar包:

 <!--源码文件包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.2</version>
      <classifier>sources</classifier>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.12</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.12</version>
    </dependency>

编写MyBatis配置文件:

 


<?xml version="1.0" encoding="utf-8"?>


      <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN"

     "http://mybatis.org/dtd/mybatis-3-config.dtd">

    <configuration>
<properties resource="jdbc.properties"></properties> <settings> <setting name="autoMappingBehavior" value="http://www.mamicode.com/PARTIAL"/> </settings> <typeAliases> <typeAlias type="cn.wwy.entity.wwyy" alias="all"></typeAlias> </typeAliases> <environments default="development">
//environments元素:用于配置多个数据环境。
<environment id="development">
//每个数据库环境的具体配置,包括数据连接信息
<transactionManager type="JDBC"></transactionManager>
//JDBC:直接使用JDBC控制事务。它依赖于从数据源得到的连接来管理事务范围。
            <dataSource type="POOLED">
//PooLED:采用连接池创建新的连接实例时必要的初始连接和认证时间。这是一种当前Web应用程序快速响应请求的流行方法。 <property name="driver" value="http://www.mamicode.com/${jdbc.driver}"/> <property name="url" value="http://www.mamicode.com/${jdbc.url}"></property> <property name="username" value="http://www.mamicode.com/${jdbc.username}" /> <property name="password" value="http://www.mamicode.com/${jdbc.password}" /> </dataSource> </environment> </environments>

小配置

<?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="cn.wwy.dao.WwyDaoImpl">
 <!--   <resultMap id="selectAll2" type="cn.wwy.entity.wwyy">
        <id property="id" column="id"></id>
        <result property="name" column="name"></result>
        <result property="age" column="age"></result>
    </resultMap>
<select id="selectAll" resultMap="selectAll2">
    select * from wwyy
</select>
-->
    <select id="selectAll3" resultType="all">
        select * from wwyy WHERE id=#{id}
    </select>

    <insert id="insertinfo">

    </insert>
</mapper>

 

  @Test
    public void  test() throws IOException {
        String resource = "mybatis-cfg.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //获得会话工厂
        SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(inputStream);
        //会话
        SqlSession session = sf.openSession();
        WwyDaoImpl mapper = session.getMapper(WwyDaoImpl.class);
        wwyy sles = mapper.selectAll3(1);
        System.out.println(sles.getName());
        session.close();
    }

 

数据库列所映射到的字段或属性的名称,如果存在和给定名称相同JavaBeans的属性。

 

MyBais入门