本文记述今天上午实习所学习的内容:利用IDEA+Maven+SSM框架实现的简单的数据库数据读取并显示
使用的软件:
前提:已将Maven项目创建好。
修改项目中的pom.xml文件:
修改内容为修改properties和dependencies,将原文件中的内容替换为下面的内容,这样可以设置号版本号和引用的jar包。需要注意的是:下面的dependencies粘贴之后有可能会报红,出现这个的原因是对应jar包没有下载好,等待它自动下载完毕即可(自动下载好像需要在创建项目后设置好)。
UTF-8
1.8
1.8
5.0.2.RELEASE
3.2.6
1.7.7
1.2.17
0.9.5.2
1.1.2
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.mchange
c3p0
${c3p0.version}
taglibs
standard
${taglibs.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
provided
创建java目录:
在main目录下创建java文件和resource文件,将两者分别设置为Rourses Root和Resources Root(设置前者是因为这样设置才可以在它下面创建.java文件,设置后者是因为要把它当作配置文件来读),如下图
接着在名为java的包下面创建组织名目录(abc是我瞎取的),再在下面创建bean、control、dao、service四个包(忽略bean和dao下面的文件,那些是后面才生成的)
接下来在bean中创建UserInfo.class,这个实体类对应了数据库中的记录,所以这个类的数据成员与数据库中userinfo表中的参数相对应。因此创建好文件后,在类中写入数据成员,并用generate生成get、set方法和toString方法即可。
定义对User进行数据库操作的接口
然后在dao文件夹中创建IUserDao.class,在这里面定义对User进行数据库操作的接口。如下图
用UserMapper.xml文件实现IUserDao接口中的方法
接着在resources文件下创建包mapper,接着在mapper中创建包文件UserMapper.xml,接下来将用UserMapper.xml文件实现IUserDao接口中的方法。
在UserMapper中填写如下内容,头和尾是mapper文件需要写的,中间的部分用来实现上面findAll的方法。mapper namespace指定所实现的接口,select id指定实现的方法,resultType指定返回类型,中间部分写的sql语句。
写配置文件
接下将applicationContext.xml(用来配置数据库),db.properties(用来配置数据库url和username还有password和驱动信息),log4j.properties(一些日志信息)文件粘贴到resource文件夹下(这三个文件老师已经帮我们写好),并将db.propertiss中的username和password改为自己的,再将applicationContext.xml中一些组织名改成自己的。
applicationContext.xml内容如下
db.properties文件内容如下
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/idea?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123
log4j.properties文件内容如下
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
实现Service
接着在service包下新建IUserService.class,用来创建服务接口。如下图
然后在service包下新建一个名为impl的包,并在包中新建一个UserServiceImpl.class文件,用以实现上面的接口类。文件主要内容如下
@Service//将UserServiceImpl存入Spring
public class UserServiceImpl implements IUserService {
@Autowired//从Spring中取一个对象
IUserDao userDao;
@Override
public List findAll() {
return userDao.findAll();
}
}
@Autowired是Spring的注解,加上之后可以让IUserDao对象从Spring中取,这里可以取,是因为它在UserMapper.xml和applicationContext.xml中有设置。@Service的作用则是将UserServiceImpl类放入Spring中,否则接下来无法把它从Spring中取出。
写页面文件
接着在webapp目录下新建名为jsp的目录,然后将addUser.jsp,allUser.jsp,updateUser.jsp粘贴到此目录下(老师已经帮我们写好了)。这些是接下来的页面文件。
然后在controller目录下创建UserController.class文件,此类用于控制页面的跳转,内容如下,这个类需要注意的比较多,需要说明的我都写在注释上了。
@Controller//用来将此类放入Spring中
@RequestMapping("user")//这个注解用于类上,应该表示可以用“user”来访问此类
public class UserController {
@Autowired//由于前面将IUserService放入Spring中了,所以这里可以用这个注解取它
private IUserService userService;
@RequestMapping("/findAll.do")////这个注解用于方法上,应该表示可以用“findAll.do”来访问此方法
public ModelAndView findAll()//展示所有数据
{
List userinfos = userService.findAll();
ModelAndView mv = new ModelAndView();//相当于一个容器,放入得到的数据,之后再取出
mv.addObject("ui",userinfos);//这里将得到的数据放入mv。第一个参数名字可以取别的,但是要与后面的对应上
mv.setViewName("allUser");//这个函数决定跳转到哪里,参数即是跳转到的页面
return mv;
}
}
写spring-mvc.xml文件
接下来将spring-mvc.xml粘贴到resource包中(文件老师已经写好),并改写一些组织名即可
spring-mvc.xml内容如下
加载tomcat
首先点击菜单run,选中Edit Configuration,如下图
接着点击加号,选中Tomcat Server->Local(找不到Tomcat Server可以选中item more),如下图
接着在Server选项卡中设置Application server,选中自己安装的Tomcat,如下图
接着在Deployment中添加deploy,通过点击加号,之后选择Artifact,接着添加ssm2:war exploded,添加完之后如下图,之后点击OK
接着运行项目,得到如下结果
接着点击”查询所有用户“,页面转换如下图
正确读取数据库中的数据。