【任务要求】使用数据库编程的方式实现在控制台输入用户名和密码如果用户名和密码正确则显示用户所属班级如果登录失败则显示登录失败源代码下载1百度网盘通过网盘分享的文件demo9_spring数据库编程实现用户登录.zip链接: https://pan.baidu.com/s/17zxhu5WAHDRpBfFU95hQ2g?pwdxukc 提取码: xukc2夸克网盘我用夸克网盘给你分享了「demo9_spring数据库编程实现用户登录.zip」点击链接或复制整段内容打开「夸克APP」即可获取。/11cd3b5n0U链接https://pan.quark.cn/s/6ea970d6f69c?pwd9qxb提取码9qxb一、创建数据库在navicat中输入下面的语句CREATEDATABASEspring;usespring;createtablestudent(idint(11)primarykeyauto_increment,usernamevarchar(255),passwordvarchar(255),coursevarchar(255));INSERTINTOstudent(username,password,course)VALUES(zhangsan,123456,语文);INSERTINTOstudent(username,password,course)VALUES(tom,654321,数学);INSERTINTOstudent(username,password,course)VALUES(jack,111111,英语);二、项目搭建打开IDEA点击“File—New—Project”我们 选择“Maven”项目然后点击“Next”改一下项目名称然后点击“Finish”创建完项目默认如下打开POM文件添加相关依赖注意要先配置好maven不然下载不了依赖?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIddemo9/artifactIdversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion5.2.8.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion5.2.8.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion5.2.8.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.2.8.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-expression/artifactIdversion5.2.8.RELEASE/version/dependencydependencygroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactIdversion1.2/version/dependency!-- jdbc包 --dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.10.RELEASE/version/dependency!-- spring-tx包 --dependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion5.2.10.RELEASE/version/dependency!-- MySQL数据库驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.11/versionscoperuntime/scope/dependency!-- aspectjweaver依赖 --dependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion1.9.6/versionscoperuntime/scope/dependency!-- aopalliance依赖包 --dependencygroupIdaopalliance/groupIdartifactIdaopalliance/artifactIdversion1.0/version/dependency/dependencies/project如果maven依赖加载没问题我们就开始创建项目结构。右击java文件夹选择New—Package然后分别创建Dao、Entity、Impl这三个文件夹com.demo9.Entity com.demo9.Dao com.demo9.Impl三、编写项目代码1.编写实体类右击Entity文件夹选择New—Java Class类名为Student代码参考如下packagecom.demo9.Entity;publicclassStudent{//学生IDprivateIntegerid;//学生姓名privateStringusername;//学生密码privateStringpassword;//学生班级privateStringcourse;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.idid;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.usernameusername;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.passwordpassword;}publicStringgetCourse(){returncourse;}publicvoidsetCourse(Stringcourse){this.coursecourse;}}2.编写dao层右击Dao选择New—Java Class名称StudentDao代码参考如下packagecom.demo9.Dao;importcom.demo9.Entity.Student;importjava.util.List;publicinterfaceStudentDao{//查询所有账户publicListStudentfindAllStudent();}2.编写Impl层右击Impl文件夹选择New—Java Class名称为StudentDaoImpl代码参考如下packagecom.demo9.Impl;importcom.demo9.Dao.StudentDao;importcom.demo9.Entity.Student;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.core.RowMapper;importjava.util.List;publicclassStudentDaoImplimplementsStudentDao{// 声明JdbcTemplate属性及其setter方法privateJdbcTemplatejdbcTemplate;publicvoidsetJdbcTemplate(JdbcTemplatejdbcTemplate){this.jdbcTemplatejdbcTemplate;}// 查询所有用户信息publicListStudentfindAllStudent(){// 定义SQL语句Stringsqlselect * from student;// 创建一个新的BeanPropertyRowMapper对象RowMapperStudentrowMappernewBeanPropertyRowMapperStudent(Student.class);// 执行静态的SQL查询并通过RowMapper返回结果returnthis.jdbcTemplate.query(sql,rowMapper);}}4.编写配置文件右击resources文件夹选择New—File文件名称写applicationContext-student.xml配置文件内容参考?xml version1.0 encodingUTF-8?beansxmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:txhttp://www.springframework.org/schema/txxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd!-- 1.配置数据源 --beaniddataSourceclassorg.springframework.jdbc.datasource.DriverManagerDataSource!--数据库驱动 --propertynamedriverClassNamevaluecom.mysql.jdbc.Driver/!--连接数据库的url --propertynameurlvaluejdbc:mysql://localhost/spring?useSSLfalse/!--连接数据库的用户名 --propertynameusernamevalueroot/!--连接数据库的密码 --propertynamepasswordvalue123456//bean!-- 2.配置JDBC模板 --beanidjdbcTemplateclassorg.springframework.jdbc.core.JdbcTemplate!-- 默认必须使用数据源 --propertynamedataSourcerefdataSource//bean!-- 3.定义id为accountDao的Bean --beanidstudentDaoclasscom.demo9.Impl.StudentDaoImpl!-- 将jdbcTemplate注入到AccountDao实例中 --propertynamejdbcTemplaterefjdbcTemplate//bean!-- 4.事务管理器依赖于数据源 --beanidtransactionManagerclassorg.springframework.jdbc.datasource.DataSourceTransactionManagerpropertynamedataSourcerefdataSource//bean!-- 5.注册事务管理器驱动 --tx:annotation-driventransaction-managertransactionManager//beans四、编写测试代码右击java文件夹选择New—Java Class然后名称为StudentTest代码参考如下importcom.demo9.Dao.StudentDao;importcom.demo9.Entity.Student;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importjava.util.List;importjava.util.Scanner;publicclassStudentTest{publicstaticvoidmain(String[]args){System.out.println(欢迎来到学生管理系统);System.out.println(请输入用户名);ScannerscanewScanner(System.in);Stringnamesca.nextLine();// 加载配置文件ApplicationContextapplicationContextnewClassPathXmlApplicationContext(applicationContext-student.xml);// 获取AccountDao实例StudentDaostudentDao(StudentDao)applicationContext.getBean(studentDao);// 执行findAllAccount()方法,获取Account对象的集合ListStudentstudentstudentDao.findAllStudent();// 循环输出集合中的对象for(Studentstu:student){if(name.equals(stu.getUsername())){System.out.println(请输入stu.getUsername()的密码);Stringmimasca.nextLine();if(mima.equals(stu.getPassword())){System.out.println(用户登录成功);System.out.println(stu.getUsername()是stu.getCourse()班的);return;}}else{System.out.println(账号密码错误);return;}}System.out.println(操作完毕准备退出);}}五、测试1.登录成功的测试2.登录失败的测试