Mybatis

介绍

作用于:持久层,是一个ORM框架!

基本配置使用

1.导包
1.核心包【mybatis-3.2.1.jar】
2.依赖包【asm-3.3.1.jar,cglib-2.2.2.jar,commons-logging-1.1.1.jar,javassist-3.17.1-GA.jar,log4j-1.2.17.jar,slf4j-api-1.7.2.jar,slf4j-log4j12-1.7.2.jar】
3.驱动包【mysql-connector-java-5.1.26-bin.jar,ojdbc14.jar】注意:根据不同的数据去选择不同的驱动包
2.核心配置文件‘【mybatis-config.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:配置根标签
 default:默认命名
     < transactionManager type="JDBC"/>:事务管理器的类型
     < dataSource type="POOLED">:连接池资源文件类型
     -- > 
< configuration>
    <!--读取资源文件-->
    <properties resource="dp.properties"/>
    <!--配置别名-->
    <typeAliases>
        < package name="需要设置别名的包"/>
    </typeAliases>
     <!--真实数据库环境(多个)-- >
    <environments default="development">
         <!--真实数据库环境 -- >
        <environment id="development">
            <transactionManager type="JDBC"/>
             <!--dataSource:数据源(连接池) -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}"/ >
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${ jdbc.username }"/  >
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    !--
           mappers:配置sql配置文件的映射关系读取
           可配置多个
    -- >
    <mappers>
        <mapper resource="映射包名"/>
    </mappers>
</configuration>

3.配置映射文件

<?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">
<!--
    namespace+id=:映射关系的唯一标识
    parameterType:参入类型  类型long=Long _long=long
    resultType:返回值类型 注意写完全限定名
-->
<mapper namespace="com.cn.domain.ProductMpper.xml">
<!--
	#{}:预编译sql 建议使用
	${}:不预编译sql  注意只能传对象
-->
    <select id="findOne" parameterType="long" resultType="Product">
              select * from product where id = #{id}
     </select>
</mapper>

代码使用展示

查询展示
【一】 生成domain类(使用idea生成)
【二】 dao层定义

public interface ProductDao {
    Product findOne(Long id);
}

【三】 dao层实现

public class IProductDaoImpl implements ProductDao {


    @Override
    public Product findOne(Long id) {
        /*1.准备拿到SqlSessionFactory对象
        * new SqlSessionFactoryBuilder().build("这里的参数是核心配置文件")
        * Mybatis有工具类Resources来读取核心配置文件
        * sqlSessionFactory.openSession();//获得sqlSession对象来持久化操作
        * sqlSession.selectOne("这里的参数是:映射关系的唯一标识",查询参数);
        * */

        try {
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader("mybtis-config.xml"));
            SqlSession sqlSession = sqlSessionFactory.openSession();
            return sqlSession.selectOne("com.cn.domain.ProductMpper.xml.selectOne",id);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

【四】 测试

public class MybatisText {

    ProductDao dao = new IProductDaoImpl();

    @Test
    public void seletOneTxet(){
        Product product= dao.findOne(20L);
        System.out.println(product);
    }
    /*
    	控制台数据:
Product{id=20, productName='可以不有', salePrice=699.0, supplier='罗技', brand='罗技', cutoff=0.79, costPrice=278.0, dir_id=4}

Process finished with exit code 0

    */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值