第九周学习总结

一、知识点概括

1.JDBC

2.HTML

 

 

二、例题

1.JDBC

通过Apache的DbUtils实现数据库的增删改查

(1)database.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/companydb?useUnicode=true&characterEncoding=utf8
username=root
password=741147
#初始化连接
initialSize=10
#最大连接数量
maxActive=30
#最小空闲连接
minIdle=5
#超时等待时间以毫秒为单位
maxWait=5000

(2)User

public class User {
    private int id;
    private String username;
    private String password;
    private String sex;
    private String email;
    private String address;

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", sex='" + sex + '\'' +
                ", email='" + email + '\'' +
                ", address='" + address + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public User() {
    }

    public User(int id, String username, String password, String sex, String email, String address) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.sex = sex;
        this.email = email;
        this.address = address;
    }
}

(3)DBUtils

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 连接池工具类
 */
public class DBUtils {
    private static DruidDataSource dataSource;

    static {
        Properties properties = new Properties();
        InputStream is = DBUtils.class.getResourceAsStream("/database.properties");
        try {
            properties.load(is);
            dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // 返回一个数据源
    public static DataSource getDataSource(){
        return dataSource;
    }
}

(4)UserDao接口

import com.project.entity.User;
import java.util.List;

public interface UserDao {
    public int insert(User user);
    public int update(User user);
    public int delete(int id);
    public User select(int id);
    public List<User> selectAll();
    public long selectCount();
}
UserDaoImpl实现类
import com.project.dao.UserDao;
import com.project.entity.User;
import com.project.utils.DBUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;

import java.sql.SQLException;
import java.util.List;

public class UserDaoImpl implements UserDao {
    //1.创建QueryRunner对象,并传递一个数据源对象
    private QueryRunner queryRunner = new QueryRunner(DBUtils.getDataSource());
    @Override
    public int insert(User user) {
        Object[] params={user.getId(),user.getUsername(),user.getPassword(),user.getSex(),user.getEmail(),user.getAddress()};
        try {
            return queryRunner.update("insert into user (id,username,password,sex,email,address) values(?,?,?,?,?,?)",params);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0;
    }

    @Override
    public int update(User user) {
        Object[] params={user.getUsername(),user.getPassword(),user.getSex(),user.getEmail(),user.getAddress(),user.getId()};
        try {
            return queryRunner.update("update user set username=?,password=?,sex=?,email=?,address=? where id = ?",params);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0;
    }

    @Override
    public int delete(int id) {
        try {
            return queryRunner.update("delete from user where id = ?",id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0;
    }

    @Override
    public User select(int id) {
        try {
            //把查询到的记录封装成 指定对象
            return queryRunner.query("select * from user where id = ?", new BeanHandler<User>(User.class), id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 查询所有
     * @return
     */
    @Override
    public List<User> selectAll() {
        try {
            return queryRunner.query("select * from user;",new BeanListHandler<User>(User.class));
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 统计当前表中有多少条数据
     * count(*)
     * @return
     */
    @Override
    public long selectCount() {
        try {
            return  queryRunner.query("select count(*) from user;", new ScalarHandler<>());
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return 0;
    }
}

(5)UserSerivce接口

import com.project.entity.User;
import java.util.List;

public interface UserSerivce {
    int add(User user);
    int delete(int id);
    int update(User user);
    User select(int id);
    List<User> selectAll();
    long selectCount();
}

UserServiceImpl实现类

import com.project.dao.UserDao;
import com.project.dao.impl.UserDaoImpl;
import com.project.entity.User;
import com.project.service.UserSerivce;
import java.util.List;

public class UserServiceImpl implements UserSerivce {
    UserDao userDao = new UserDaoImpl();
    @Override
    public int add(User user) {
        return userDao.insert(user);
    }

    @Override
    public int delete(int id){
        return userDao.delete(id);
    }

    @Override
    public int update(User user) {
        return userDao.update(user);
    }

    @Override
    public User select(int id) {
        return userDao.select(id);
    }

    @Override
    public List<User> selectAll() {
        return userDao.selectAll();
    }

    @Override
    public long selectCount() {
        return userDao.selectCount();
    }
}

2.HTML

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>综合案例</title>
	</head>
	<body>
		<div>
			<table width="100%" align="center">
				<tr>
					<td align="left">
						千锋教育-稀有的坚持全程面授品质的大型IT教育机构
					</td>
					<td align="right">
						<a>好程序员特训营&nbsp;&nbsp;</a>
						<a>JavaEE分布式开发&nbsp;&nbsp;</a>
						<a>JavaSE核心基础&nbsp;&nbsp;</a>
						<a>加入我们&nbsp;&nbsp;</a>
					</td>
				</tr>
				<tr>
					<td >
						<img src="img/new_logo.png" >
					</td>
					<td align="right">
						<img src="img/nav_r_ico.png" >
					</td>
				</tr>
				<tr align="center">
					<td colspan="2">
						<hr/>
						<span>首页&nbsp;&nbsp;</span>
						<span>课程培训&nbsp;&nbsp;</span>
						<span>教学保障&nbsp;&nbsp;</span>
						<span>免费视频&nbsp;&nbsp;</span>
						<span>公开课&nbsp;&nbsp;</span>
						<span>企业合作&nbsp;&nbsp;</span>
						<span>就业报喜&nbsp;&nbsp;</span>
						<span>学员天地&nbsp;&nbsp;</span>
						<span>关于千锋&nbsp;&nbsp;</span>
						<span>加入我们&nbsp;&nbsp;</span>
						<hr/>
					</td>
				</tr>
				<tr >
					<td colspan="2" align="right">
					首页>课程培训>JavaEE列表
					</td>
				</tr>
				<tr>
					<td align="left">
						<h3>课程培训</h3>
						<h4>共108种课程内容</h4>
					</td>
				</tr>
				<tr>
					<td align="center" width="100%" colspan="2">
						<hr />
					</td>
				</tr>
				<tr>
					<td align="center" colspan="2">
						<img src="img/001.png" width="100%">
					</td>
				</tr>
			</table>
		</div>
		<div>
			<table width="100%" cellspacing="40px" align="center">
				<tr>
					<td>
						<img src="img/002.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/003.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/004.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/005.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/006.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
				</tr>
				<tr>
					<td>
						<img src="img/007.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/008.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/009.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/010.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
					<td>
						<img src="img/011.png">
						<div align="center">书名:XXX</div>
						<div align="center">售价:180</div>
					</td>
				</tr>
				<tr>
					<td align="center" colspan="5">
						<img src="img/012.png"  width="100%">
					</td>
				</tr>
			</table>
		</div>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值