Java项目整合Mybatis+Sqlite 非Spring

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19306415/article/details/84455144

由于博主最近开发应用,需要保存数据,于是想到了用sqlite。
但是用Java 提供的方法来操作数据库,实在是有点繁琐,所以博主就百度了一下Mybatis整合Sqlite,但是遇到了一个大坑,所以以此记录!

重点记录:sqlite驱动包的版本号
当前使用的是3.7.2的,博主刚开始使用的是3.4.2的,可能是版本过低的原因,3.4.2的无法跟Mybits整合,后面换成了3.7.2的就好了,莫名奇妙的折腾了一晚上!
完工,睡觉!

Maven引用

<!--sqlite 版本3.7.2   -->
	 <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>3.7.2</version>
        </dependency>
        
<!--mybatis 版本3.4.4   -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.4</version>
        </dependency>

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>
    <!-- 引用"application.properties配置文件  -->
    <properties resource="application.properties" />
    <!-- development : 开发模式 work : 工作模式 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <!-- value属性值引用db.properties配置文件中配置的值 -->
                <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>
   <!-- 自动扫描该包名下的所有Mapper -->
        <package name="cn.xstm.gim.mapper"/>
    </mappers>

</configuration>

application.properties

jdbc.driverClassName=org.sqlite.JDBC
jdbc.url=jdbc:sqlite:sample.db
jdbc.username=
jdbc.password=

使用方法

	     String resource = "mybatis-config.xml";//配置文件
            Reader reader = Resources.getResourceAsReader(resource);
            SqlSessionFactory sqlMapper = SqlSessionFactoryBuilder().build(reader);
//设置为true 自动提交事务
            SqlSession sqlSession = sqlMapper.openSession();
            reader.close();//关闭读取流
           Login_Mapper mapper=sqlSession .getMapper(Login_Mapper.lass);//获取Mapper
            List<HasMap<Object,Object>> list= mapper.getLoginName();//获取结果

Login_Mapper.java

interface Login_Mapper {
    //sql语句
    @Select("select * from login")
    public List< Map<Object,Object>> getLoginName()
   }

猜你喜欢

转载自blog.csdn.net/qq_19306415/article/details/84455144