Magician的官方JDBC组件


当前最新版

包名 最新版本 介绍
Magician-JDBC 1.1.2 初始版本

项目简介

Magician-JDBC 是Magician的官方JDBC组件,可以很快捷的实现数据库操作

安装步骤

一、导入依赖

<dependency>
    <groupId>com.github.yuyenews</groupId>
    <artifactId>Magician-JDBC</artifactId>
    <version>最新版</version>
</dependency>

<!-- mysql驱动包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
</dependency>
<!-- druid数据源 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.5</version>
</dependency>

<!-- 这个是日志包,支持任意可以跟slf4j桥接的包 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>1.7.12</version>
</dependency>

二、创建数据源

/*
 * 理论上支持任意 实现了 DataSource接口 的数据源
 * 这段代码在实战中 可以另起一个类去存放
 * 此处是用druid为例子的
 */
DruidDataSource dataSource = new DruidDataSource();

Properties properties = new Properties();
properties.put("druid.name", "local");
properties.put("druid.url", "jdbc:mysql://127.0.0.1:3306/martian-test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true&useSSL=false");
properties.put("druid.username", "root");
properties.put("druid.password", "123456");
properties.put("druid.driverClassName", Driver.class.getName());

dataSource.setConnectProperties(properties);

三、创建JDBC资源

// 创建JDBC的资源,建议只在项目启动的时候执行一次
MagicianJDBC.createJDBC()
        .addDataSource("a", dataSource)// 添加数据源,这个方法可以调用多次,添加多个数据源
        .defaultDataSourceName("a");// 设置默认数据源的名称

操作数据库

/* ************** 操作数据库,这些代码 在实战中需要写到对应的DAO里面 ************ */

// 从test表查询主键=102的数据
String sql = SqlBuilder.select("test").byPrimaryKey("id").builder();
DemoDTO param = new DemoDTO();
param.setId(102);
DemoDTO demoDTO = JdbcTemplate.create().selectOne(sql, param, DemoDTO.class);

// 删除主键=103的数据
String sql2 = SqlBuilder.delete("test").byPrimaryKey("id").builder();
DemoDTO param2 = new DemoDTO();
param2.setId(103);
JdbcTemplate.create().update(sql2, param2);

// 将Demo保存到数据库
DemoDTO demo = new DemoDTO();
demo.setCreateTime(new Date());
demo.setName("testName");

String sql3 = SqlBuilder.insert("test").column(DemoDTO.class).builder();
JdbcTemplate.create().update(sql3, demo);

// 修改主键=105的数据的 name为testName,createTime为当前时间
DemoDTO demo2 = new DemoDTO();
demo2.setCreateTime(new Date());
demo2.setName("testName");
demo2.setId(105);

String sql5 = SqlBuilder.update("test").column(DemoDTO.class).where("id = #{id}").builder();
JdbcTemplate.create().update(sql5, demo2);

// 查询name=testName的数据
DemoDTO demo3 = new DemoDTO();
demo3.setName("testName");
List<DemoDTO> demoDTOList = JdbcTemplate.create().selectList("select * from test where name=#{name}", demo3, DemoDTO.class);
// 除了这些,JdbcTemplate里面还有很多操作数据库的方法

results matching ""

    No results matching ""