JDBC设计的主要分为5个包
com.company.controller
界面实现包
com.company.model.dao
所有实体的接口包
com.company.model.dao.impl
所有实体的接口实现包
com.company.model.dbfactroy
数据库连接
com.company.model.entity
所有实体存放包
<pre name="code" class="java">package com.company.model.entity;
import java.util.Date;
public class Account {
private Integer accountId;
private String accountName;
private String code;
private Date openTime;
public Integer getAccountId() {
return accountId;
}
public void setAccountId(Integer accountId) {
this.accountId = accountId;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName == null ? null : accountName.trim();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code == null ? null : code.trim();
}
public Date getOpenTime() {
return openTime;
}
public void setOpenTime(Date openTime) {
this.openTime = openTime;
}
@Override
public String toString() {
return "Account [accountId=" + accountId + ", accountName="
+ accountName + ", code=" + code + ", openTime=" + openTime
+ "]";
}
}
<pre name="code" class="java">package com.company.model.dbfactroy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBFactroy {
private static Connection connection;
private static final String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String url = "jdbc:sqlserver://localhost:1433;databaseName=BANK";
private static final String userName = "sa";
private static final String userPwd = "123456";
static {
try {
Class.forName(driver);
// System.out.println("驱动类加载成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("驱动类加载失败!");
e.printStackTrace();
}
}
protected DBFactroy() {
super();
}
public static Connection getInstance() {
if (connection == null) {
try {
connection = DriverManager
.getConnection(url, userName, userPwd);
// System.out.println("数据库连接成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("数据库连接失败!");
e.printStackTrace();
}
}
return connection;
}
}
package com.company.model.dao;
import java.util.List;
import com.company.model.entity.Account;
public interface AccountMapper {
int deleteByPrimaryKey(Integer accountId);
int insert(Account record);
int insertSelective(Account record);
Account selectByPrimaryKey(Integer accountId);
int updateByPrimaryKeySelective(Account record);
int updateByPrimaryKey(Account record);
//查找所有数据
List<Account> getAllAccount();
//根据id查找,并返回一个Account对象
Account getAccountById(int id);
}
<pre name="code" class="java">package com.company.model.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.company.model.dao.AccountMapper;
import com.company.model.dbfactroy.DBFactroy;
import com.company.model.entity.Account;
public class AccountMapperImpl implements AccountMapper {
@Override
public int deleteByPrimaryKey(Integer accountId) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int insert(Account record) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int insertSelective(Account record) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Account selectByPrimaryKey(Integer accountId) {
// TODO Auto-generated method stub
return null;
}
@Override
public int updateByPrimaryKeySelective(Account record) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int updateByPrimaryKey(Account record) {
// TODO Auto-generated method stub
return 0;
}
@Override
public List<Account> getAllAccount() {
Connection con = DBFactroy.getInstance();
PreparedStatement ps = null;
List<Account> list = new ArrayList<Account>();
try {
ps = con.prepareStatement("select * from ACCOUNT");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Account ac = new Account();
ac.setAccountId(rs.getInt("ACCOUNT_ID"));
ac.setAccountName(rs.getString("ACCOUNT_NAME"));
ac.setCode(rs.getString("CODE"));
ac.setOpenTime(rs.getDate("OPEN_TIME"));
list.add(ac);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
@Override
public Account getAccountById(int id) {
Connection con = DBFactroy.getInstance();
PreparedStatement ps = null;
Account ac = new Account();
try {
ps = con.prepareStatement("select * from ACCOUNT where ACCOUNT_ID=?");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ac.setAccountId(rs.getInt("ACCOUNT_ID"));
ac.setAccountName(rs.getString("ACCOUNT_NAME"));
ac.setCode(rs.getString("CODE"));
ac.setOpenTime(rs.getDate("OPEN_TIME"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ac;
}
}
import java.util.List;
import com.company.model.dao.impl.AccountMapperImpl;
import com.conpany.model.entity.Account;
public class TestClass {
<span style="white-space:pre"> </span>public static void main(String[] args) {
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>AccountMapperImpl ami=new AccountMapperImpl();
<span style="white-space:pre"> </span>List<Account> list=ami.getAllAccount();
<span style="white-space:pre"> </span>for (Account account : list) {
<span style="white-space:pre"> </span>System.out.println(account);
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
}