jsp整合mybatis案例
生活随笔
收集整理的這篇文章主要介紹了
jsp整合mybatis案例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
View視圖層:注冊(cè)頁(yè)面
?
<form action="regServlet" method="post">賬號(hào):<input type="text" name="username"/><br/>密碼:<input type="password" name="pwd"/><br/>確認(rèn)密碼:<input type="password" name="repwd"/><br/>愛(ài)好:<input type="checkbox" name="hobby" value="讀書(shū)"/>讀書(shū)<input type="checkbox" name="hobby" value="旅游"/>旅游<input type="checkbox" name="hobby" value="逛街"/>逛街<br/><input type="submit" value="注冊(cè)"/>"</form>
顯示所有頁(yè)面的jsp代碼
?
?
<table border="1" width="100%"><tr><td>賬戶</td><td>密碼</td><td>愛(ài)好</td><td colspan="3">操作</td></tr><c:forEach items="${list}" var="m"><tr><td>${m["USERNAME"] }</td><td>${m["PWD"] }</td><td>${m["AIHAO"] }</td><td><a href='zhuce.jsp'>增加</a></td><td><a href='delServlet?username=${m["USERNAME"] }'>刪除</a></td><td><a href='javascript:alert("a")'>刪除</a></td></tr></c:forEach></table>
web.xml配置文件
?
?
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>zhuce.jsp</welcome-file></welcome-file-list><!-- 配置servlet --><servlet><servlet-name>regServlet</servlet-name><servlet-class>com.controller.RegServlet</servlet-class></servlet><servlet><servlet-name>allServlet</servlet-name><servlet-class>com.controller.AllServlet</servlet-class></servlet><servlet><servlet-name>DelServlet</servlet-name><servlet-class>com.controller.DelServlet</servlet-class></servlet><servlet-mapping><servlet-name>regServlet</servlet-name><url-pattern>/regServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>allServlet</servlet-name><url-pattern>/allServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DelServlet</servlet-name><url-pattern>/delServlet</url-pattern></servlet-mapping> </web-app>
mybatis的配置文件
?
?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="oracle.jdbc.driver.OracleDriver"/><property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/><property name="username" value="scott"/><property name="password" value="tiger"/></dataSource></environment></environments><mappers><mapper resource="com/mapper/UserinfoMapper.xml"/></mappers> </configuration>返回SqlSession對(duì)象的公共類
?
?
package com.util;import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; //公共類,讀取config.xml文件,用來(lái)和數(shù)據(jù)庫(kù)建立聯(lián)系 //The AdapterNet wrong:修改config.xml為ip地址 public class SSFU {public static SqlSession getSqlSession(){Reader reader=null;SqlSessionFactory factory=null;SqlSession session=null;try {reader = Resources.getResourceAsReader("config.xml");factory=new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}finally{try {if(reader!=null){reader.close();}} catch (IOException e) {e.printStackTrace();}} return factory.openSession();} }
model層
?
實(shí)體類:
?
package com.model; //用戶信息實(shí)體類 public class Userinfo {private String username;private String pwd;private String aihao;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getAihao() {return aihao;}public void setAihao(String aihao) {this.aihao = aihao;}}接口業(yè)務(wù)定義:
?
?
package com.biz;import java.util.List; import java.util.Map; import com.model.Userinfo;//接口,定義了4個(gè)抽象方法,增刪改查,對(duì)userinfo表 public interface UserinfoMapper {public int insertUserinfo(Userinfo u);public int updateUserinfo(Userinfo u);public int deleteUserinfo(Userinfo u);public List<Map>selectAll();//無(wú)參數(shù); }
接口對(duì)應(yīng)的映射文件
?
?
<?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"> <!--這個(gè)映射文件,相當(dāng)于接口的實(shí)現(xiàn)類,4個(gè)方法,現(xiàn)在4個(gè)實(shí)現(xiàn). --> <mapper namespace="com.biz.UserinfoMapper"><insert id="insertUserinfo" parameterType="com.model.Userinfo">insert into userinfo values(#{username},#{pwd},#{aihao})</insert><update id="updateUserinfo" parameterType="com.model.Userinfo">update userinfo set pwd=#{pwd} where username=#{username}</update><delete id="deleteUserinfo" parameterType="com.model.Userinfo">delete from userinfo where username=#{username}</delete><select id="selectAll" resultType="java.util.Map">select * from userinfo</select> </mapper>控制層,控制器
?
注冊(cè)Servlet
?
package com.controller;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import org.apache.ibatis.session.SqlSession;import com.biz.UserinfoMapper; import com.model.Userinfo; import com.util.SSFU; //作用是一個(gè)控制器,一手托view,一手托model public class RegServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//0.解決亂碼req.setCharacterEncoding("utf-8");//1.接受從zhuce頁(yè)面?zhèn)鬟^(guò)來(lái)的數(shù)據(jù);String username=req.getParameter("username");//名字不一樣,會(huì)報(bào)NUllpointerExceptionString pwd=req.getParameter("pwd");String[]hobbys=req.getParameterValues("hobby");//1.2將愛(ài)好數(shù)組轉(zhuǎn)化為字符串 ;String aihao="";for(int i=0;i<hobbys.length;i++){aihao+=hobbys[i]+",";}aihao=aihao.substring(0,aihao.length()-1);//截取最后的一個(gè)","//*********************************//操作model對(duì)象;新增對(duì)象;Userinfo u=new Userinfo();u.setUsername(username);u.setPwd(pwd);u.setAihao(aihao);//真正的存放到數(shù)據(jù)庫(kù),利用mybatisSqlSession session =SSFU.getSqlSession();UserinfoMapper um = session.getMapper(UserinfoMapper.class);um.insertUserinfo(u);session.commit();session.close();//將數(shù)據(jù)放到session,然后重定向;這個(gè)是假的增加數(shù)據(jù);HttpSession hsession=req.getSession();hsession.setAttribute("u",u);//設(shè)置session的屬性,存放剛才的對(duì)象;resp.sendRedirect("chenggong.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doGet(req, resp);}}
查找所有Servlet
?
?
package com.controller;import java.io.IOException; import java.util.List; import java.util.Map;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;import org.apache.ibatis.session.SqlSession;import com.biz.UserinfoMapper; import com.util.SSFU; //查詢所有用戶信息的控制器; public class AllServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//從數(shù)據(jù)庫(kù)查詢所有信息;SqlSession session =SSFU.getSqlSession();UserinfoMapper um = session.getMapper(UserinfoMapper.class);List<Map>list=um.selectAll();System.out.println(list.size());for(Map map:list){System.out.println("姓名:"+map.get("USERNAME")+",密碼:"+map.get("PWD")+",愛(ài)好:"+map.get("AIHAO"));}session.commit();session.close();HttpSession hsession=req.getSession();hsession.setAttribute("list", list);resp.sendRedirect("showAll.jsp");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doGet(req, resp);} }
讀者可以在此基礎(chǔ)上,完善下修改 和刪除操作,如果修改和刪除,是漢字的話,可能會(huì)有g(shù)et傳值亂碼問(wèn)題,可以到tomcat的conf目錄下,修改server.xml,在connector標(biāo)簽下,增加URIEncoding="utf-8"即可。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的jsp整合mybatis案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring mvc hello
- 下一篇: mybatis 知识1