Mybatis的学习(一)

来源:互联网 发布:阿里云数据库 ads 编辑:程序博客网 时间:2024/05/17 22:42

Mybatis的学习(一)

1.什么是mybatis

mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。

2.mybatis与ibatis

1、iBatis 封装了绝大多数的 JDBC 样板代码,使得开发者只需关注 SQL 本身,而不需要花费精力去处理例如注册驱动,创建 Connection,以及确保关闭 Connection 这样繁杂的代码。2、从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化3.最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service里面调用dao就可以了!

3.环境

<dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.2.8</version></dependency>ojdbc6---oracle的jar包

4.代码

Java代码:package lesson01;import java.io.IOException;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class Test {    public static void main(String[] args) throws IOException {        String resource = "lesson01/mybatis.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        //工厂类        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);        SqlSession session = sqlSessionFactory.openSession();        //session操作的是指向sql语句的唯一标识符        //增        //session.insert("a.insertFood");        //删        //session.delete("delFood");        //改        session.update("updateFood");        List list=session.selectList("a.selectFood");        System.out.println(list);        session.commit();    }}
Properties文件:    url=jdbc\:oracle\:thin\:@localhost\:1521\:ORCLdriverClass=oracle.jdbc.OracleDriverusername1=你的账户password1=密码
batis.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><!-- mybatis的核心配置文件        1.数据库的连接信息(连接池) -->    <properties resource="lesson01/jdbc.properties"></properties>        <environments default="development">        <environment id="development">            <!-- 事务管理器  默认使用jdbc事务 -->            <transactionManager type="JDBC" />            <dataSource type="POOLED">                <property name="driver" value="${driverClass}" />                <property name="url" value="${url}" />                <property name="username" value="${username1}" />                <property name="password" value="${password1}" />            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="lesson01/foodMapper.xml"/>    </mappers></configuration>
Mapper.xml:    <?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"> <!-- 命名空间  用于区分多个文件中的相同id --><mapper namespace="a">    <select id="selectFood" resultType="java.util.Map">        select * from food     </select>    <insert id="insertFood">        insert into food(FOODID,FOODNAME,PRICE) values(1,'a',30.0)    </insert>    <delete id="delFood">        delete from food where FOODID=1    </delete>    <update id="updateFood">        update food set FOODNAME='c' where FOODID=2    </update></mapper>
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕后脚气严重怎么办 拼音a不会写怎么办 儿童7岁还坐不住怎么办 孩子缺锌手蜕皮裂开怎么办 宝宝读幼儿园哭怎么办 幼儿上课爱讲话怎么办 孩子上课总是乱跑怎么办 孩子听不懂老师讲课怎么办 高一上课听不懂怎么办 上课学生纪律差怎么办 一年级学生认字少怎么办 孩子上课做不住怎么办 幼儿园小孩上课乱跑怎么办 孩子挑食不爱吃饭怎么办 幼儿园孩子不听指令怎么办 1岁宝宝多动症怎么办 3岁宝宝胆小怎么办 爱挑食的孩子怎么办 小孩上课经常发呆怎么办 小孩不爱吃饭挑食怎么办 一年级小孩学习不好怎么办 宝宝上课坐不住怎么办 八个月婴儿拉稀怎么办 八个月孕妇拉稀怎么办 孩子好动爱喊怎么办 八个月小孩发烧怎么办 孩子好动怎么办学龄前教育 小孩好动症该怎么办 小孩子好动症该怎么办 怀孕5个月胎死亡怎么办 小孩多动调皮怎么办 手心老是出汗是怎么办 孩子吃饭特别慢怎么办 小孩子老想睡觉怎么办 孩子下午上课犯困怎么办 小孩子有多动症该怎么办 初中写作业犯困怎么办 孩子晚上学习困怎么办 小孩子容易兴奋激动怎么办 中考时过度兴奋怎么办 小孩兴奋不睡觉怎么办