单例模式 数据库连接池 内部类 javabean 工厂类

本文深入探讨了单例模式在Java中的实现细节,包括如何避免多线程环境下的重复实例化问题,以及静态内部类的使用。此外,还介绍了通过DAO模式设计数据库访问层,展示了如何使用JDBC进行数据库查询操作,并解析了结果集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class Singulation{

private static  Singulation instance =null;

private Singulation(){

}

public static Singulation getinstance{

if(instance==null){

Synochronized(Singulation.class){

if(instance==null){

 

避免多次连接数据库上万次的IO消耗

静态内部类属于外部类的成员,new School.Teacher

非静态内部类属于外部类的实例的,new School().Teacher

class School{

class Teacher{

static class Teacher{

匿名实现类 创建一次,使用一次,方法内部创建一个类

public interface isayhello{

String sayhello(String name);

}

public class SayHello{

public static main(String[] args){

isayhello obj=new iayhello(){

 

public string sayHello(String name){return "hello"+name}}

System.out.priintln(obj.sayHello("hj"))}}
javabean 特殊的类,field 是private 利用set get 方法,与数据库中的表一一对应

domain层与javabean

Dao数据访问层 model响应前端

public class DAOFactory{

public static iTaskDAO getTaskDAO(){

return new TaskDAOImpl()}}

 

iTaskDAP taskDAO=DAOFactory.getTaskDAO();

Task task=taskDAO.findById(2);

Syso.println(task.getTaskName());

 

public class TaskDAOImpl implements ITaskDAO{

public Task findById(long taskId){

final Task task=new Task();

String sqsl="select*from task where task_id=?"

Object[] params=new Object[](taskId);

 

JDBCHelper jdbchelper=JDBCHelper.getInstance();

jdbchelper.excuteQuery(sql,params,new JDBCHelper.QueryCallback(){

public void process(ResultSet rs)throws Exception{

if(rs.next()){

long taskid=rs.getLong(1);

String taskName=rs.etString(2);

String createTime=rs.getString(3);

 

task.setTaskid(taskid);

task.settaskName(taskName);

 

return task;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值