MyBatis学习

其实我是不想学java框架的,我觉得自己会用servlet就ok,没想去当后台当全栈,奈何公司只有我一个懂后台,我还是喜欢我的大前端,没办法为了干活为了生存只能学这个鸡儿。

MyBatis是一个数据库的框架,首先配置MyBatis环境,在这里我们需要用到一个鸡儿,就是下面这个,当然你还需要一个你所用数据库的jar包,这里就不多说了
这里写图片描述
然后导入这两个jar包,就像下面这样,对了,最近从eclipse换到idea来了,感觉像回到了家,跟AS一样,特别舒服
这里写图片描述
导入了包之后我们就需要来写配置文件了,配置文件呢主要有两个,一个是数据库连接的配置文件,一个是实体类的映射文件文件,这个主要用来写一些sql语句
下面是数据库连接的配置文件

<?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用来指定数据库连接-->
    <environments default="test">
        <!-- 数据库连接的名字 在上面的default来指定用这个连接 可以有多个environment  -->
        <environment id="test">
            <!-- 事务管理类型:JDBC、MANAGED -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->   
            <dataSource type="POOLED"> 
                <!--下面这些就是具体连接的配置了 -->   
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="密码" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 mapper 这些个文件里面的就是一些sql语句 可以放好多好多-->
    <mappers>
        <!-- 使用接口注解的方式 包名.文件名 -->
        <mapper class="util.PlaceInterface"/>
    </mappers>
</configuration>

这样我们的数据库连接的文件就ojbk了下面就是实体类的映射文件,要创建映射文件首先要有一个实体类,下面是一个实体类

//假装这里又很多的代码

ok,实体类完成,配置实体类的映射文件,刚刚看博客发现好像不需要创建映射文件,所以,我们映射文件就不写了,嗯,那么通过接口注解的方式来实现
创建一个接口,这个sql语句比较长,那么我们来解释一下下面的东西,#{CarInformationSerial} 这个是里面的东西是方法里面的参数的属性,所以说这样我们就不需要什么配置文件了,真尼玛好用啊


public interface PlaceInterface {
   @Insert(" INSERT INTO Place(CarInformationSerial,PositionX,PositionY,Speed,DateTime,Date) VALUES (#{CarInformationSerial},#{PositionX},#{PositionY},#{Speed},#{DateTime},#{Date})")
   void InsetPlace(CarMessage carMessage);
   @Select(" SELECT * FROM place WHERE CarInformationSerial=#{CarInformationSerial} ORDER BY placeId DESC LIMIT 1")
   CarMessage getPlace(String CarInformationSerial);
}

下面是就来操作了

    //你的配置文件的位置  包名/文件名
    private static String resource = "sqlxml/Mybatiis.xml";
    private static InputStream inputStream = null;
    private static SqlSessionFactory sqlSessionFactory;
    static{
        try {
            inputStream = Resources.getResourceAsStream(resource);
            // 创建 SqlSessionFactory
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);    
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //其他类可以通过这个方法获取SqlSessionFactory
    public static SqlSessionFactory getSession() {
        return sqlSessionFactory;
    }

下面是执行接口注解中的查询语句

 public static CarMessage Textget(CarMessage carMessage){
        SqlSession sqlSession = getSessio().openSession();    // 获取到 SqlSessio
        //你的接口注解对象
        PlaceInterface placeInterface=sqlSession.getMapper(PlaceInterface.class);
        //输入查询参数
        CarMessage c=placeInterface.getPlace(carMessage.getCarInformationSerial());
        sqlSession.commit();
        //返回查询到的东西
        return c;
    }

反正有了接口注解你就只需要写好你的sql语句就ok

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值