时间:2023-10-09 10:36:01 | 来源:网站运营
时间:2023-10-09 10:36:01 来源:网站运营
Web开发基础-07-数据设计:知识:数据被记录(record)、存储(storage)、回忆(recall)。
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '[your new password]';
//1.加载驱动程序Class.forName("com.mysql.jdbc.Driver");//2. 获得数据库连接Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);//3.操作数据库,实现增删改查Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");//如果有数据,rs.next()返回truewhile(rs.next()){ System.out.println(rs.getString("user_name")+" 年龄:"+rs.getInt("age"));}
public interface PetDao { /** * 查询所有宠物 */ List<Pet> findAllPets() throws Exception;}
DAO 实现类:public class PetDaoImpl extends BaseDao implements PetDao { /** * 查询所有宠物 */ public List<Pet> findAllPets() throws Exception { Connection conn=BaseDao.getConnection(); String sql="select * from pet"; PreparedStatement stmt= conn.prepareStatement(sql); ResultSet rs= stmt.executeQuery(); List<Pet> petList=new ArrayList<Pet>(); while(rs.next()) { Pet pet=new Pet( rs.getInt("id"), rs.getInt("owner_id"), rs.getInt("store_id"), rs.getString("name"), rs.getString("type_name"), rs.getInt("health"), rs.getInt("love"), rs.getDate("birthday") ); petList.add(pet); } BaseDao.closeAll(conn, stmt, rs); return petList; }}
宠物实体类(里面get/set方法就不列出了)public class Pet { private Integer id; private Integer ownerId; //主人ID private Integer storeId; //商店ID private String name; //姓名 private String typeName; //类型 private int health; //健康值 private int love; //爱心值 private Date birthday; //生日}
连接数据库public class BaseDao { private static String driver="com.mysql.jdbc.Driver"; private static String url="jdbc:mysql://127.0.0.1:3306/epet"; private static String user="root"; private static String password="root"; static { try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url, user, password); } public static void closeAll(Connection conn,Statement stmt,ResultSet rs) throws SQLException { if(rs!=null) { rs.close(); } if(stmt!=null) { stmt.close(); } if(conn!=null) { conn.close(); } } public int executeSQL(String preparedSql, Object[] param) throws ClassNotFoundException { Connection conn = null; PreparedStatement pstmt = null; /* 处理SQL,执行SQL */ try { conn = getConnection(); // 得到数据库连接 pstmt = conn.prepareStatement(preparedSql); // 得到PreparedStatement对象 if (param != null) { for (int i = 0; i < param.length; i++) { pstmt.setObject(i + 1, param[i]); // 为预编译sql设置参数 } } ResultSet num = pstmt.executeQuery(); // 执行SQL语句 } catch (SQLException e) { e.printStackTrace(); // 处理SQLException异常 } finally { try { BaseDao.closeAll(conn, pstmt, null); } catch (SQLException e) { e.printStackTrace(); } } return 0; }}
@Mapper@Repositorypublic interface AdminMapper { int addManager(User user); List<User> getAllManagers();}public class User { //省略getter、setter private Integer id; private String email; private String password; private String userName; private String phoneNumber; private double credit; private UserType userType;}<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.hotel.data.admin.AdminMapper"> <insert id="addManager" parameterType="com.example.hotel.po.User" useGeneratedKeys="true" keyProperty="id"> insert into User(email,password,usertype) values(#{email},#{password},#{userType}) </insert> <select id="getAllManagers" resultMap="User"> select * from User where usertype='HotelManager' </select> <resultMap id="User" type="com.example.hotel.po.User"> <id column="id" property="id"></id> <result column="email" property="email"></result> <result column="password" property="password"></result> <result column="username" property="userNzame"></result> <result column="phonenumber" property="phoneNumber"></result> <result column="credit" property="credit"></result> <result column="usertype" property="userType"></result> </resultMap></mapper>
参考链接关键词:数据,设计,基础