tnblog
首页
视频
资源
登录

Idea下使用maven搭建SSM(二):MyBatis

6605人阅读 2018/12/7 19:38 总访问:11535 评论:3 收藏:0 手机
分类: JAVA

             开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在底层连接数据库的时候,一般优胜JDBC技术,也就是Java的一种提供数据库连接和操作SQL的底层API。但是互联网技术正在飞速发展,使用原始JDBC已经满足不了项目的开发需求了,这就使得Hibernate,MyBatis(iBatis),JPA,JDO等一些优秀的ORM框架诞生,它们不公结合了原生JDBC的功能,还使开发简捷化,规范化。

        前一章我讲了使用maven在idea下搭建SpringMVC,下面接着讲使用maven在idea下搭建MyBatis。

首先在mysql中创建一个名为test的数据库,然后在数据库中创建表“userinfo”:

1,打开之前项目,pom.xm中加入MyBatis的引用:

  1. <dependency>
  2.   <groupId>log4j</groupId>
  3.   <artifactId>log4j</artifactId>
  4.   <version>1.2.12</version>
  5. </dependency>
  6. <dependency>
  7.   <groupId>org.slf4j</groupId>
  8.   <artifactId>slf4j-api</artifactId>
  9.   <version>1.7.20</version>
  10. </dependency>
  11. <dependency>
  12.   <groupId>org.mybatis</groupId>
  13.   <artifactId>mybatis</artifactId>
  14.   <version>3.4.0</version>
  15. </dependency>
  16. <dependency>
  17.   <groupId>mysql</groupId>
  18.   <artifactId>mysql-connector-java</artifactId>
  19.   <version>5.1.41</version>
  20. </dependency>
  21. <dependency>
  22.   <groupId>com.microsoft.sqlserver</groupId>
  23.   <artifactId>sqljdbc4</artifactId>
  24.   <version>4.0</version>
  25. </dependency>

2,在Java文件夹下创建包"cn.com.mybatis.pojo",在包下创建java类"UserInfo":

  1. package cn.com.mybatis.pojo;
  2. import java.io.Serializable;
  3. public class UserInfo implements Serializable {
  4.     private int id;
  5.     public int getId() {
  6.         return id;
  7.     }
  8.     public void setId(int id) {
  9.         this.id = id;
  10.     }
  11.     public String getUserName() {
  12.         return userName;
  13.     }
  14.     public void setUserName(String userName) {
  15.         this.userName = userName;
  16.     }
  17.     private String userName;
  18.     public String getPassword() {
  19.         return password;
  20.     }
  21.     public void setPassword(String password) {
  22.         this.password = password;
  23.     }
  24.     private String password;
  25.     private int age;
  26.     public int getAge() {
  27.         return age;
  28.     }
  29.     public void setAge(int age) {
  30.         this.age = age;
  31.     }
  32. }

2,在"resource"文件夹下新建一个"mybatis"文件夹,

编写SQL映射文件:

在mybatis文件夹加新建一个mapper文件夹,并在mapper下创建名为userinfo的xml文件,编辑如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3.         PUBLIC "-//mybatis.org//DTD mapper 3.0//EN"
  4.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="test">
  6.     <select id="findById" parameterType="int" resultType="cn.com.mybatis.pojo.UserInfo">
  7.         SELECT * FROM userinfo WHERE id=#{id}
  8.     </select>
  9. </mapper>

在"mybatis"文件夹下新建名为"SqlMapConfig"的xml文件,并编辑:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3.         PUBLIC "-//mybatis.org//DTDConfig 3.0//EN"
  4.         "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6.     <environments default="development">
  7.         <environment id="development">
  8.             <transactionManager type="JDBC"></transactionManager>
  9.             <dataSource type="POOLED">
  10.                 <property name="drever" value="org.gjt.mm.mysql.Driver"></property>
  11.                 <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"></property>
  12.                 <property name="username" value="root"></property>
  13.                 <property name="password" value="123456"></property>
  14.             </dataSource>
  15.         </environment>
  16.     </environments>
  17.     <mappers>
  18.         <mapper resource="mybatis/mapper/userinfo.xml"></mapper>
  19.     </mappers>
  20. </configuration>

3,在Java文件夹下创建包"cn.com.mybatis.datasource",在包下创建并编写数据库交互类(DataConnection):

  1. package cn.com.mybatis.datasource;
  2. import org.apache.ibatis.io.Resources;
  3. import org.apache.ibatis.session.SqlSession;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. public class DataConnection {
  9.     private String resource="mybatis/SqlMapConfig.xml";
  10.     private SqlSessionFactory sqlSessionFactory;
  11.     private SqlSession sqlSession;
  12.     public SqlSession getSqlSession() throws IOException{
  13.         InputStream inputStream= Resources.getResourceAsStream(resource);
  14.         sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
  15.         sqlSession=sqlSessionFactory.openSession();
  16.         return sqlSession;
  17.     }
  18. }

在Java文件夹下创建包"cn.com.mybatis.dao",在包下创建并编写数据库访问类(UserInfoDAO):

  1. package cn.com.mybatis.dao;
  2. import cn.com.mybatis.datasource.DataConnection;
  3. import cn.com.mybatis.pojo.UserInfo;
  4. import org.apache.ibatis.session.SqlSession;
  5. import java.io.IOException;
  6. public class UserInfoDAO {    
  7.     public DataConnection dataConn = new DataConnection();    
  8.     public UserInfo GetUserById() throws IOException{
  9.         SqlSession sqlSession=dataConn.getSqlSession();
  10.         UserInfo user = sqlSession.selectOne("test.findById",1);
  11.         sqlSession.close();        return user;
  12.     }
  13. }

最后,在表现层显示数据:

修改src/main/webapp/Java/cn.com.controller/Home

  1. package cn.com.controller;
  2. import cn.com.mybatis.dao.UserInfoDAO;
  3. import cn.com.mybatis.pojo.UserInfo;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.servlet.ModelAndView;
  7. import java.io.IOException;
  8. @Controller
  9. @RequestMapping("/Home")
  10. public class Home {    
  11.     @RequestMapping("/Index")    
  12.     public ModelAndView Index() throws IOException {
  13.         ModelAndView view = new ModelAndView();
  14.         UserInfoDAO userInfoDTO=new UserInfoDAO();
  15.         UserInfo user = userInfoDTO.GetUserById();
  16.         view.addObject("userInfo",user);
  17.         view.setViewName("Index");        
  18.         return view;
  19.     }
  20. }

修改Index.JSP文件

  1. <%--
  2.   Created by IntelliJ IDEA.
  3.   User: Administrator
  4.   Date: 2018-12-07
  5.   Time: 16:52
  6.   To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
  9. <html>
  10. <head>
  11.     <title>Title</title>
  12. </head>
  13. <body>
  14.     <h2>Index</h2>
  15.     <ul>
  16.         <li>${userInfo.id}</li>
  17.         <li>${userInfo.userName}</li>
  18.         <li>${userInfo.age}</li>
  19.     </ul>
  20. </body>
  21. </html>

大功告成!

运行Tomcat

目录结构:

资源下载地址:https://download.csdn.net/download/wkjiteye/10838188


评价

风清月

2019/1/27 23:18:49

大佬大佬!

风清月

2019/1/27 23:19:58

厉害了!哈哈,期待下一篇!

青春年华

2020/3/7 11:50:05

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

Idea搭建Spring Boot+Spring MVC+thymeleaf

今天大兄弟来讲一下在idea下,使用Spring Boot ,搭建Spring MVC+thymeleaf。在Java开发领域,Spring Boot算得上是一颗耀眼...

Idea激活(2017-2019版本)

某宝花2.8元卖的第一步,启动IDE,进入试用(能直接进入操作界面,则忽略此步。若进不去软件的,联系客服教你解决方法)第二...

Idea快捷键

看情况而定快捷键是否+fn1、IDEA直接跳转到方法的实现类Ctrl+点击调试往下走3、f7调试进入方法里4、shift+f7调试跳出方法里...

Idea与tomcat整合

配置方式11、2、3、一直点ok就可以了创建项目配置方式22.12.22.32.42.52.6

mavenIdea的匹配版

1、maven的匹配版本下载方式2、在IDEA的配置

19-Idea集成Git-创建本地仓库-提交代码

1、在idea配置git1.11.2此时就配置成功了。2、将自己代码所在的文件创建为本地仓库2.1、注意一点要选到你模块的上一级2.2、...

Idea版本的回退\回滚

其实git回滚有俩种方式有损:就是回滚到以前的版本后,现在的版本就不保留了无损:回滚后所有的版本都会保留,且把你这次回...

Idea中分支管理

1、创建新分支1.11.21.31.42、切换分支2.1切换方式12.2切换方式22.2.1、2.2.2、3、分支的代码管理3.1、在dev01新增代码并提...

Idea中操作远程仓库

1、push 推送1.11.21.32、克隆远程代码2.1 关闭项目2.2、2.3、2.4、后面的弹窗就是哪里亮了就点哪里。

使用Ideamaven搭建Spring MVC

1、2、3、4、确定maven4.1、IDEA自带的maven4.2、自己下载的maven还换了本地仓库5、6、7、在main文件夹中创建两个文件夹jav...

修改IntelliJ Idea中tomcat的输出路径,request.getSession().getServletContext().getRealPath()为什么老是输出到target目录的解决办法

request.getSession().getServletContext().getRealPath()为什么老是输出到target目录的解决办法在做传入文件的操作时,通...

Idea中 右击项目没有run maven按钮解决办法(快速使用maven命令)

这个问题原因在于我们并没有这个插件解决方法:这个时候我们可以去setting中下载mavenhelper插件安装好该插件以后,重启IDE...

Idea将多个commit合并成一个commit

https://www.bbsmax.com/A/MAzAGqv859/https://www.zhihu.com/question/56624823备注1,关于时间线: Log框时间线:是从上...
没有个性,不需要签名
排名
82
文章
2
粉丝
1
评论
3
Idea下使用maven搭建SSM(二):MyBatis
风清月 : 厉害了!哈哈,期待下一篇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
情到深处人孤独。