mybatis

文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html

数据库:存储引擎(storage_engine)

 

1. 认识存储引擎

  存储引擎就是:数据库管理系统如何存储数据、如何为存储的数据建立索引与如何更新、查询数据等技术的实现方法。
  数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。mysql的核心就是存储引擎。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。

2. 查询存储引擎

show engines;

3. 常用的存储引擎的比较


InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
MyISAM: 插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比 较低,也可以使用。
MEMORY: 所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。
Archive:如果只有INSERT和SEECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息。
 1  <build>
 2         <resources>
 3             <resource>
 4                 <directory>src/main/java</directory>
 5                 <includes>
 6                     <include>**/*.xml</include>
 7                     <include>**/*.properties</include>
 8                 </includes>
 9                 <filtering>true</filtering>
10             </resource>
11             <!-- 如果配置了拷贝java classpath下面的xml,项目中其他的配置文件应该手动配置复制过去 -->
12             <resource>
13                 <directory>src/main/resources</directory>
14                 <includes>
15                     <include>**/*.xml</include>
16                     <include>**/*.properties</include>
17                 </includes>
18                 <filtering>true</filtering>
19             </resource>
20         </resources>
21     </build>

 

 

 5、入门练习

<?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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/day14"/>
                <property name="username" value="root"/>
                <property name="password" value="lisen"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>

 

 

package com.li.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
    public static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession(){
       return sqlSessionFactory.openSession();
    }
}

 

 

package com.li.dao;

import com.li.pojo.User;

import java.util.List;

public interface UserMapper {
    List<User> getuserlist();
}

 

 

package com.li.dao;

import com.li.pojo.User;
import com.li.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {

    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
//        方式一:
//        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//        List<User> getuserlist = mapper.getuserlist();
//        方式二:
        List<User> getuserlist = sqlSession.selectList("com.li.dao.UserMapper.getuserlist");

        for (User user : getuserlist) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}

 

 

<?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">
<mapper namespace="com.li.dao.UserMapper">
<select id="getuserlist" resultType="com.li.pojo.User">
select * from user ;
</select>
</mapper>

 

posted @ 2021-01-21 15:53  乐易196  阅读(36)  评论(0)    收藏  举报