# Magician-JDBC **Repository Path**: geekcheng_admin/Magician-JDBC ## Basic Information - **Project Name**: Magician-JDBC - **Description**: Magician-JDBC 是Magician的官方JDBC组件,可以很快捷的实现数据库操作 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: http://magician-io.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-10 - **Last Updated**: 2021-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README


Magician的官方JDBC组件
## 项目简介 Magician-JDBC 是Magician的官方JDBC组件,可以很快捷的实现数据库操作 ## 安装步骤 ### 一、导入依赖 ```xml com.github.yuyenews Magician-JDBC 最新版 mysql mysql-connector-java 8.0.20 com.alibaba druid 1.2.5 org.slf4j slf4j-jdk14 1.7.12 ``` ### 二、创建数据源 ```java /* * 理论上支持任意 实现了 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资源 ```java // 创建JDBC的资源,建议只在项目启动的时候执行一次 MagicianJDBC.createJDBC() .addDataSource("a", dataSource)// 添加数据源,这个方法可以调用多次,添加多个数据源 .defaultDataSourceName("a");// 设置默认数据源的名称 ``` ### 操作数据库 ```java /* ************** 操作数据库,这些代码 在实战中需要写到对应的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 demoDTOList = JdbcTemplate.create().selectList("select * from test where name=#{name}", demo3, DemoDTO.class); // 除了这些,JdbcTemplate里面还有很多操作数据库的方法 ``` ## 开发资源 - 开发文档: [http://magician-io.com/docs/jdbc/index.html](http://magician-io.com/docs/jdbc/index.html) - 使用示例: [https://github.com/yuyenews/yuyenews-Magician-JDBC-Example](https://github.com/yuyenews/yuyenews-Magician-JDBC-Example)