MyBatis框架搭建

MyBatis简介:

    MyBatis是支持普通的Sql查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和java的pojosPlain Ordinary Java Objects,普通的Java对象)映射成数据库中的记录。

     

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。


MyBatis搭建:

一、导包

二、核心配置文件

      

       建在src目录下

      <1>.导入约束

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

<!DOCTYPE configuration

        PUBLIC "-//resource.mybatis.org//DTD Config 3.0//EN"

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

<configuration>
    
</configuration>

      <2>.配置详解

   
<configuration>

    <!-- 配置开发环境,可以配置多个,在具体用时再做切换 -->

    <environments default="development">

        <environment id="development">

            <!-- 事务管理类型:JDBC、MANAGED -->

            <transactionManager type="JDBC"></transactionManager>

            <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.jdbc.Driver"></pr
operty>

                <property name="url" value="jdbc:mysql://localhost:3306/mybatis01?characterEncoding=utf-8"></property>

                <property name="username" value="root"></property>

                <property name="password" value=""></property>

            </dataSource>

        </environment>

    </environments>

    <!--告诉mybatis需要引入哪些Mapper映射文件-->

    <mappers>

        <mapper resource="cn/hd/pojo/UserMapper.xml"></mapper>

    </mappers>

</configuration>

三、创建实体类

User

代码如下:

package cn.hd.pojo;

public class User {
   
private Integerid;
   
private Stringname;
   
private Stringsex;
   
private Stringaddress;
   
private Integerbalance;

   
public User(){
    }

   
public User(Integerid, String name, String sex, String address, Integer balance) {
       
this.id = id;
       
this.name = name;
       
this.sex = sex;
       
this.address = address;
       
this.balance = balance;
    }

   
public IntegergetId() {
       
returnid;
    }

   
publicvoid setId(Integer id) {
       
this.id = id;
    }

   
public StringgetName() {
       
returnname;
    }

   
publicvoid setName(String name) {
       
this.name = name;
    }

   
public StringgetSex() {
       
returnsex;
    }

   
publicvoid setSex(String sex) {
       
this.sex = sex;
    }

   
public StringgetAddress() {
       
returnaddress;
   }

   
publicvoid setAddress(String address) {
       
this.address = address;
    }

   
public IntegergetBalance() {
       
returnbalance;
    }

   
publicvoid setBalance(Integer balance) {
       
this.balance = balance;
    }

   
@Override
   
publicString toString() {
       
return"User{" +
               
"id=" + id+
               
", name='" + name + '\'' +
               
", sex='" + sex + '\'' +
               
", address='" + address + '\'' +
               
", balance=" + balance +
               
'}';
    }
}

四、映射文件

<1>.导入约束

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

<!DOCTYPEmapper

        PUBLIC"-//mybatis.org//DTDMapper 3.0//EN"

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

<mapper>

</mapper>

<2>.配置

<mapper namespace="test">


   
<select id="findUserById" parameterType="int"resultType="cn.hd.pojo.User" >
       
SELECT * FROM user WHEREid =  #{id}
    </select>

</mapper>

五、测试类

Demo:

public class Demo {
   
@Test
   
publicvoid fun() throws IOException{
        InputStream in = Resources.getResourceAsStream(
"sqlMapConfig.xml");
        SqlSessionFactory sessionFactory=
new SqlSessionFactoryBuilder().build(in);
        SqlSession session =sessionFactory.openSession();
        User user = session.selectOne(
"test.findUserById", 1);
        System.
out.println(user);

        session.close();
    }
}

test.findUserById   test:是映射文件中的namespace   findUserById :是 当前sql语句 id


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值