Jdbc工具类的打包(包含jar包分享)
把jdbc封装的所有代码打成独立jar包,以后直接引用jar。
点击领取jar包以及配置文件
(1)创建一个新的工程
(2)创建包结构
- 打包
工具包
核心的代码:Jdbc.jar
src配置文件 :db.properties
依赖其他的包
log4j + src/log4j.properties
dbcp + src/db.properties
mysql驱动
(4)项目中使用jdbc的封装包
之前的新闻发布系统,单独提供一个工程出来。
系统的jar包
配置文件
(5)完成功能
先创建合理的包结构,然后按照三层的步骤写代码
发布新闻
建表
......
实体类
package com.njwbhz.newssys.entity;import com.njwbhz.jdbc.util.DateUtil;import java.util.Date;public class News {//属性private int id;private String title;private String Content;private Date createtime;//无参构造器public News() {}//有参构造器public News(int id, String title, String content, Date createtime) {this.id = id;this.title = title;Content = content;this.createtime = createtime;}//get和set方法public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getContent() {return Content;}public void setContent(String content) {Content = content;}public Date getCreatetime() {return createtime;}public void setCreatetime(Date createtime) {this.createtime = createtime;}@Overridepublic String toString() {return "News{" +"id=" + id +", title='" + title + '\'' +", Content='" + Content + '\'' +", createtime=" + DateUtil.dateToStr(createtime , "yyyy-MM-dd HH:mm:ss") +'}';}
}
Dao
package com.njwbhz.newssys.dao;import com.njwbhz.newssys.entity.News;import java.sql.SQLException;public interface NewsDao {void add(News news) throws SQLException;
}
DaoImpl
package com.njwbhz.newssys.dao.impl;import com.njwbhz.jdbc.template.JdbcTemplate;
import com.njwbhz.newssys.dao.NewsDao;
import com.njwbhz.newssys.entity.News;import java.sql.SQLException;public class NewDaoImpl implements NewsDao {@Overridepublic void add(News news) throws SQLException {String sql = "insert into t_news (t_title,t_content,t_createtime) values (?,?,now())";JdbcTemplate.insert(sql , news.getTitle() , news.getContent());}
}
TestDao
package com.njwbhz.newssys.test;import com.njwbhz.newssys.dao.NewsDao;
import com.njwbhz.newssys.dao.impl.NewsDaoImpl;
import com.njwbhz.newssys.entity.News;import java.sql.SQLException;public class TestNewsDao {public static void main(String[] args) {NewsDao newsDao = new NewsDaoImpl();News news = new News();news.setTitle("123");news.setContent("123");try {newsDao.add(news);} catch (SQLException e) {e.printStackTrace();}}
}
...检查数据
Exception
package com.njwbhz.newssys.exception;import com.njwbhz.newssys.entity.News;public class NewsSysException extends RuntimeException {public NewsSysException (String msg) {super (msg);}
}
Service
package com.njwbhz.newssys.service;import com.njwbhz.newssys.entity.News;
import com.njwbhz.newssys.exception.NewsSysException;public interface NewsService {void publish (News news) throws NewsSysException;
}
ServiceImpl
package com.njwbhz.newssys.service.impl;import com.njwbhz.jdbc.tx.Transaction;
import com.njwbhz.newssys.dao.NewsDao;
import com.njwbhz.newssys.dao.impl.NewsDaoImpl;
import com.njwbhz.newssys.entity.News;
import com.njwbhz.newssys.exception.NewsSysException;
import com.njwbhz.newssys.service.NewsService;import java.sql.SQLException;public class NewsServiceImpl implements NewsService {//service肯定会调用dao,和处理事务private NewsDao newsDao = new NewsDaoImpl();private Transaction tx = new Transaction();@Overridepublic void publish(News news) throws NewsSysException {if (news.getTitle().contains("你妹") || news.getContent().contains("你妹")) {throw new NewsSysException("不能含有脏话");}try {tx.begin();newsDao.add(news);tx.commit();} catch (SQLException e) {try {tx.rollback();} catch (SQLException e1) {e1.printStackTrace();}e.printStackTrace();}}
}
TestService
package com.njwbhz.newssys.test;import com.njwbhz.newssys.entity.News;
import com.njwbhz.newssys.service.NewsService;
import com.njwbhz.newssys.service.impl.NewsServiceImpl;public class TestNewsService {public static void main(String[] args) {NewsService newsService = new NewsServiceImpl();News news = new News();news.setTitle("1234");news.setContent("1234");newsService.publish(news);}
}
Jdbc工具类的打包(包含jar包分享)相关推荐
- 阿里的图片剪裁工具类及依赖的jar包
阿里的图片剪裁工具类包含以下7个方法,这都好理解,关键是这个jar包的maven依赖不好找,有人卖这个依赖已经卖到50个下载币,黑心啊,我找了很久终于找到了. 1.按固定长宽进行缩放 2.按固定文件大 ...
- 基于阿里云的短信接口的工具类及三个jar包下载地址
https://blog.csdn.net/Mr_zzr/article/details/100168118 上面这个写的很好! 三个jar包下载地址在我的github: https://github ...
- springboot自定义工具类构建打包踩坑经历
前言 1.如何打包一个工具类? 2.如何在工具类中引入第三方jar包? 3.如何在调用工具类时能够正确识别工具类中的静态资源? 4.如何在静态方法中注入变量? 如果你有以上问题,请看下去,相信对你有帮 ...
- eclipse中简单实现自己的工具类打包成jar包并在项目中使用
在现实开发中我们经常会自己写工具方便别人使用,所以就要将我们写好的工具打包成jar包,给别人调用 一.首先,编写一个类MyFristJar.java,代码如下: package com.zl.myja ...
- idea中将java项目中的单个类打包成jar包
文章目录 打包jar包 导入jar包使用 JAR文件的全称是Java Archive File,即Java档案文件.JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包.JAR文件与z ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 参考文章: (1)springboot打包成jar包后找不到xml,找不到主类的解决方法 (2)https://www.cnbl ...
- 【Groovy】Groovy 扩展方法 ( 实例扩展方法配置 | 扩展方法示例 | 编译实例扩展类 | 打包实例扩展类字节码到 jar 包中 | 测试使用 Thread 实例扩展方法 )
文章目录 一.扩展方法示例 二.实例扩展方法配置 三.编译实例扩展类 四.打包静态扩展类字节码到 jar 包中 五.测试使用 Thread 实例扩展方法 一.扩展方法示例 为 Thread 扩展 he ...
- 【Groovy】Groovy 扩展方法 ( 静态扩展方法配置 | 扩展方法示例 | 编译静态扩展类 | 打包静态扩展类字节码到 jar 包中 | 测试使用 Thread 静态扩展类 )
文章目录 一.扩展方法示例 二.静态扩展方法配置 三.编译静态扩展类 四.打包静态扩展类字节码到 jar 包中 五.测试使用 Thread 静态扩展类 一.扩展方法示例 为 Thread 扩展 hel ...
- jar包修改并重新打包,jar包反编译使用工具以及修改代码方法
jar包修改并重新打包,jar包反编译使用工具以及修改代码方法 备忘: https://blog.csdn.net/tomcat_zhu/article/details/79240011
最新文章
- 安装Windows 2012域控(For SQLServer 2014 AlwaysOn)
- 使用JavaScript在文本框中的Enter键上触发按钮单击
- data.push({name:'a',value:'a'});
- MySQL触发器简介
- (转载)Memcached预定义常量
- 上海世博会物联网技术应用
- 学习Java,真的可以月薪过万嘛?真实个人经历告诉你,记录了平时学习的内容以及学习过程中最真实的感受(一)
- Citrix XenAPP DS角色
- 菜鸟教程python100例-菜鸟教程python
- ★自助饮料售卖机,C语言 编辑题
- java qq聊天界面_用Java制作一个简单的QQ聊天界面
- 秒懂设计模式之原型模式(Prototype Pattern)
- 洛谷-3373 【模板】线段树 2
- Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL ser
- 计算机实训项目结果文档,计算机基础实训报告.doc
- windows 8 pro vl_微软MSDN原版Windows10/8/7/XP系统镜像与office下载地址大全
- php的declare命令如何使用?
- 工程师如何对待开源——一个老工程师的肺腑之言
- 点击应用图标-应用(Activity)的启动流程
- 进阶39 奇妙的数字