MyBatis mapping类基本用法

 更新时间:2023年09月24日 10:50:33   作者:channingbj  
这篇文章主要为大家介绍了MyBatis mapping类基本用法示例详解,
有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

定义mapping类

MyBatis 有两种定义查询结果到 Java 类的映射关系的方式,一种是通过xml文件定义,一种是通过Java annonation 定义,这里使用第二种方法。

现在我们有一张mysql的表定义如下:

CREATE TABLE `MY_BATIS_TEST` (
  `id` varchar(255) NOT NULL DEFAULT '',
  `url` varchar(255) DEFAULT NULL
)

首先定义table一条数据在Java中对应的class

public class Redord {
    public String url;
}

定义sql查询到Java class 结果集合的映射:

public interface SimpleMapper {
    @Select("select url from testdb.MY_BATIS_TEST limit 1;")
    Redord selectOneRecord();
    @Select("select url from testdb.MY_BATIS_TEST;")
    Set<Record> selectRecords();
    @Select("select url from testdb.MY_BATIS_TEST where id=#{id};")
    Record selectRecordByID(int id);
}

初始化并注册mapping类

Properties properties = new Properties();
properties.setProperty("driver", "com.mysql.jdbc.Driver");
properties.setProperty("url", "jdbc:mysql://127.0.0.1:3306/testdb");
properties.setProperty("username", "the_user_name");
properties.setProperty("password", "the_password");
PooledDataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory();
pooledDataSourceFactory.setProperties(properties);
DataSource dataSource = pooledDataSourceFactory.getDataSource();
Environment environment = new Environment("development", new JdbcTransactionFactory(), dataSource);

Configuration configuration = new Configuration(environment);
configuration.addMapper(SimpleMapper.class); //注册mapping类

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

从mysql中查询数据

SqlSession session = sqlSessionFactory.openSession();
try{
    PluginMapper mapper = session.getMapper(PluginMapper.class);
    Plugin pl = mapper.selectPluginsByID(1000);
    System.out.println(pl.url);
} finally {
    session.close();
}

全局唯一以及线程安全

SqlSessionFactory 可以在整个app的生命周期中只创建一次,SqlSession需要在每次执行sql的函数中创建一次并且使用后需要进行关闭:

SqlSession session = sqlSessionFactory.openSession();
try {
  // do work
} finally {
  session.close();
}

以上就是MyBatis mapping类基本用法的详细内容,更多关于MyBatis mapping类的资料请关注脚本之家其它相关文章!

相关文章

  • Java多线程 Guarded Suspension设计模式

    Java多线程 Guarded Suspension设计模式

    这篇文章主要介绍了Java多线程 Guarded Suspension设计模式,Guarded Suspension意为保护暂停,其核心思想是仅当服务进程准备好时,才提供服务,文章围绕Java多线程 Guarded Suspension展开内容,需要的朋友可以参考一下
    2021-10-10
  • Java命名规则详细总结

    Java命名规则详细总结

    Class名应是首字母大写的名词。命名时应该使其简洁而又具有描述性。异常类的命名,应以Exception结尾。Interface的命名规则与Class相同
    2013-10-10
  • Spring事物的传播特性详解

    Spring事物的传播特性详解

    这篇文章主要介绍了Spring事物的传播性详解,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • 详解spring与jdbc整合操作

    详解spring与jdbc整合操作

    这篇文章主要为大家详细介绍了spring与jdbc整合操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • eclipse的git插件安装、配置与使用详解

    eclipse的git插件安装、配置与使用详解

    这篇文章主要介绍了eclipse的git插件安装、配置与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • SpringBoot中事务的只读属性详解

    SpringBoot中事务的只读属性详解

    这篇文章主要介绍了SpringBoot中事务的只读属性详解,在开发过程中,事务是一个非常重要的概念,在 Spring Boot中,事务是通过 AOP 机制来实现的,可以很方便地进行管理,需要的朋友可以参考下
    2023-08-08
  • 创建java多线程程序

    创建java多线程程序

    Java 给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。希望本篇文章能够给你带来帮助
    2021-06-06
  • 关于Java整合RabbitMQ实现生产消费的7种通讯方式

    关于Java整合RabbitMQ实现生产消费的7种通讯方式

    这篇文章主要介绍了关于Java整合RabbitMQ实现生产消费的7种通讯方式,消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统,需要的朋友可以参考下
    2023-05-05
  • SpringBoot对接小程序微信支付的实现

    SpringBoot对接小程序微信支付的实现

    本文主要介绍了SpringBoot对接小程序微信支付的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2023-09-09
  • 教你用Java Swing做一个定时提醒工具

    教你用Java Swing做一个定时提醒工具

    今天给大家带来的是Java的相关知识,文章围绕着如何用Java做一个定时提醒工具展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论