A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 啦啦dbj 初级黑马   /  2019-5-31 15:26  /  596 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数据库连接创,释放资源平凡造成资源浪费从而影响系统性能
sql语句不利于维护
概念
mybatis是一个优秀的局域java的持久型框架
你只需要关注sql语句,动态的生成最中的sql语句并执行数据库的连接
采用的ORM思想解决了实体和数据的映射sentinel,对jdbc进行了封装,平不了jdbcapi底层访问的细节
把复杂的jdbc底层都屏蔽了,让我们更加专注的写sql语句,mybatis做了一个映射,不用手动的封装数据

入门  www.mybatis.org
1添加mybatis坐标
(mysql-connector-java),(mybatis,3.4.6)(log4j 日志)
2创建表
3创建对应的POJO
4编写映射文件,UserMapper.xml(约束头DTD约束),(同名的加个包)
<mapper namespace="userMapper">//命名空间结合id调用对应的sql
     //查询
    <select id="findAll" resultType="POJO权限命名">
        select * from user//这个结果集封装到指定的POJO
    </select>
    //插入
    <iniert id="save" parameyerType="POJO权限命名">
        insert into user values(#{id},#{username,#{password})//这里不能写"?,?,?..."写POJO里边的属性名称
    </insert>
    //修改
    <uppdate id="update" parameterType="POJO权限命名">
        update user set username=#{username},password=$#{password},id= #{id}
    </update>
    //删除
    <delete id="delete" parameterType="POJO权限命名">
        delete from user where id=#{id}//这里一个参数写啥都可以
    </delete>
</mapper>
5核心文件
sqlMapConfig.xml(sql映射)(核心文件的约束头)
<configuration>
    //获取配置文件
    <peroperties resource="jdbc.properties"/>
    //定义别名
    <typeAliases>
            <typeAlias type="POJO权限命名"alias="user"/>
    </typeAliases>
    //数据源环境
    <envronments default="developement">
        <environment id="developement">
            <transactionMananger type="JDBC"/>//这个JDBC要大写
            <dataSource type="POOLED">//大写的
                <property name="driver" value="${jdbc.driver}">
                <property name="url" value="${jdbc.url}">
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource >
        </environment >
    </envronments>
    //加载映射文件
    <mappers>
        <mapper resource="com/itheima/mapper/UserMapper.xml"/>
    </mappers>
   
</cafiguration>
//测试
//insert 模拟User user= new User();
            user.setId(7)
            user.setUsername("tom");
            user.setPassword(123);
1.获得核心配置文件
    InputStream resourCeAsStream =  Resources.getResourceAsStream("sqlMapConfig.xml")
2.获取SqlSession工厂对象
    SqlSessionFactory sqlSessionFactory = new SqlSeesionFactoryBuilder().build(resourCeAsStream )
3.获得session会话对象
    SqlSession sqlSession = sqlSessionFactory.openSession(true)//这里设置为true它就自动提交事务
4.通过得到的session对象获取sql语句
    select : List<User> user = sqlSession.select("userMapper.findAll")
    insert : sqlSession.insert("userMapper.save",user);//这要虚拟对象
    update : sqlSession.update("userMapper.update",user);//需要虚拟对象
    delect : sqlSession.delete("userMapper.delete",6);//根据id删就直接传数字,多条件的删除也是传user
//mybatis执行更新操作,需要提交事务
         sqlSession.commit();
5.释放资源
    sqlSession.class();

API
SqSSession工厂构建器

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马