zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mybatis3源码解析--操作数据库

2023-03-07 09:11:50 时间
1、mybatis主配置文件
<configuration>
  <settings>
    <setting name="useGeneratedKeys" value="true"/>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
    <setting name="logImpl" value="STDOUT_LOGGING"/>
  </settings>
  <environments default="dev">
    <environment id="dev">
      <transactionManager type="JDBC">
        <property name="" value=""/>
      </transactionManager>
      <dataSource type="UNPOOLED">
        <property name="driver" value="org.hsqldb.jdbcDriver"/>
        <property name="url" value="jdbc:hsqldb:mem:star"/>
        <property name="username" value="sa"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper class="com.star.mybatis.UserMapper"/>
  </mappers>
</configuration>

2、实体对象映射数据库表

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
  private int id;
  private String createTime;
  private String uname;
  private String password;
  private String nickName;
}

3、mapper对象

public interface UserMapper {
  @Select("SELECT * FROM user")
  List<User> getUsers();
}

4、执行sql

@Test
public void test1() {
    Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
    SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
    SqlSession sqlSession = sessionFactory.openSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    List<User> users = userMapper.getUsers();
    System.out.println(users);
}
-------------------------------------------------------------------------------------
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
Opening JDBC Connection
Setting autocommit to false on JDBC Connection [org.hsqldb.jdbc.JDBCConnection@79d8407f]
==>  Preparing: SELECT * FROM user
==> Parameters: 
<==    Columns: ID, CREATE_TIME, UNAME, PASSWORD, NICK_NAME
<==        Row: 0, 2022-11-11 10:10:10, star, 123456, star_nick
<==        Row: 1, 2022-11-12 10:10:10, moon, admin, moon_nick
<==      Total: 2