SpringMVC与MyBatis整合(一)——查询人员列表

从今天开始,一点点的记录做毕设和学习的过程。

寒假才开始接触SpringMVC和MyBatis,之前对框架的概念理解并不到位,也没学过Spring。目前学习起来思路并不很清晰,有些东西我还不能理解,只是参考别人的代码然后自己调试修改,在不断的查资料、编写代码和调试错误中学习。

这篇博客更新的是整合SpringMVC和MyBatis来查询所有的人员列表以及一些学习笔记。这些代码后期还需要大量的修改,仅作为入门程序,当做练习。

一、SpringMVC+mybatis的系统架构:

aaarticlea/png;base64,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teMqHs+rqHTp0idUOuG0qlXPOPOM+g3qX6Rd1PHijr169+p/df/hw4ffdNNNEyZMeOCBB2bMmPHUU0+98MILL7/88rp167Zv375nz5733ntv3759X3zxxddff/3DDz/8+uuvf/75p/PbzELA0aNH//vf//72228//vjjN998869//euTTz55//3333777Z07d27YsGHFihWLFi16+umnZ86c+dBDD02cOPHWW28dMWLEgIED+/Tt06lzp5atWja8sOFZZ59VrXq1yidWLlO2DF8gKFe+XJWqVc6od0bDFhe27NL6kisuvey6K4aMB2KfxgAAF8xJREFUHXbjfTdPmDnpwWcfnvXy4/M2LXhx74rNX2/P+kHoKXA5yCCWoUU02uamaZLDRa43dVlRXTe5kQEFXC7Otu/fWPGB+ezm56cuNu6cddfIiaOu0K+6uE/nRi0b1zqr9vEnHE8eZiVKlKhUuVKt2rUaXtiwXft2vfv0HjJkyC233HLvvffOnDlz/vz5K1as2Lp163vvvbd///7ffvtN8YUlIN0UFhYePHjwm2+++fDDD3fs2LF69eoXXnhh9uzZDzzwwG233Xbdddf1u6xfh44dGjdpXPeMuiedfFLJkiUZ8deoXaNB84btunfoN+zy4XeMGD9twsMvTJu77tmX31m55dudWT+Mqd8kXA4yh2VommFFLcuKWoYWiegmL2rez6Yu+NAyNJjcnXx3+fYDby5/+5UZy2aNnTLuypFXt+rSuu45dStWqkgecZUqVzr7nLPbtG1z5VVX3nTTTQ899NC8efNM09y7d+/+/fsPHjwY7goxSFJUVPTnn39+++2377333vr1659//vlHHnnktttuGzBwYMeLO553/nknn3Iy2QZTvkL5mnVPb96+Rd+hl425/5YpC6cv3LksW46Hy1OHZWgRttYZOEyd3Ab6v+LNVVKrJpwcN71oaj8uN/V01dxTtVsyQH65fNXHa6cumnHTA7f2G3Z58/YtqteqnrwOXeW0U7WW2rXXXnvfffc9/fTTq1ev3rNnz9dff/33339n+zsCQeLIkSPff//9O++8s3bt2vnz50+ePHnEiBHtO7SvUbNGiRIl4gdb1SqNWjbuMbDX9ZNueHDe5OVvv5KBjntweepIr8sT9Vi3z4pJelyeIGFrU0/O1nay1M6yNnaXNYPLo6F3+a6f9izcsXTUXTe269a+StUqsfbwmqfX7NCxw4gRIx555JGXX375/fffP3ToULa/CBB+/vrrr08++eS1116bOXPmmDFjLul6yZlnnVmqVKlIJFKxUsXm7VsMGTvsydeeTtMzceHyoBAilydNbpqmbXB5vzhZvTxrOoXLs+/yVR+tGTD6mhq1a0QikeOOP65zl8733Xffpk2b/vjjj2zvcwBs/v777zfffHPatGl9+vY5pcopkUik0kmVuw/o+fy2xXB5fhJYl1uGJq5Wx+rWuq7F29oN2Yb4rJenD7g8my7f9dOekRNvOLZ8uTZt2zz++OPvvffe0aNHs72fAXCnqKjo888/nz9/ft9+fUuVLtVzYO8UXlxXd7mpM12VElc7BSdW6vRNuoabiT3UYRAxhmBYbMLEIhXMRqwdNbba/O/lWm6TZ3b+FE/uCJVlua21s8vVdzu1ltT+cHZ5sb8CvjadqJc73K5GdXVPTmdZzB+CZRErI945fDs8scmO+zPWvuDty/X5BRWHSPhcfs9TD5QsWXLLli2p2UMAZIPYa+j6jxqYHZdH+NNcon1UowbRZ1DaDcSZihzqMCgqPC8n/mMmVNkO4bVa1fmzp397hoz56E2wG4odluWAm8s97HZmF9ADIjKXF/MrMA3D0AW7Q3K93Lk2zyLcf8QqyneO9Nv0eRjL95LPL6iYhNDlg28ZWlBQMGrUqG+//TYVuwiATPP7779PnTq1oKCgcesm2XE5Kyqh0Wjo8bixpCKkP4jXW+iB8Q88dnESrqin+dM3STNjurdPOy3LAanc3DwmWBXFvU79V8yvID4nYis0zWD6sYsvjFOt7+IxxHVzaSmJGiD9Nh3mJd9ryl+u6hdUXELo8rEPjzvllFMuueSSkiVLtm/ffuLEiWvWrPntt99SsLcASBv//e9/t23b9tBDD3Xv3r1ChQr169e/6KKLegzsldsuZ70jPwnas3EYJPEYIRkv573EzNiNUZ8/efonz9X8PhCayWFZbqvtoY3dabdTlU9pEzP1XzG+gthCDLp13dTtiqzurGqmUEevrqj5Xbh3pDtH9m36OYxdvlzvX1CxiYTS5dWqVYtGo3v37p04ceL5558fiUQKCgouuOCCkSNHLliwYM+ePb/++msKdh4AxeDQoUPvv//+8uXLx44d26JFi1iH9urVq99www3r168/evRor169ctvldCXNpULjweWyep/kvEc1aYqnSp5Ovc7fPv1TJ391l8tXTLrabi73stv9utzjVxBfFdMUFgZELhd1Tjd1ZoVYZGtFrLLTzpF8m74OY6e95OsLoib2o/cwuzzJ/v37ly5dOnbs2FatWh177LGxw6Jy5crNmjXr37//pEmTnnvuuR07dnz//fd46gtIB7/88svu3bsXL158//33X3vtta1atTrttNNix2HJkiUvvPDCESNGzJs376OPPiKPwFx3uaiumJI2dtmJzGFY7AwoFadDQcJl/onTP+UZD23szidl4Wq7uNzTbvfbxu7jKyDXVV4vN3XdlJQXTD2i6wbf68Ade3aOO0f8bfo8jOV7wucXFP+X7VugTF64nKSwsPCrr756/fXX586dO378+Msuu6xhw4YVKlSInVjLly9fv379Ll26DB48eNy4cdOnT1+4cOGmTZs+/PDDn376qbCw0NveBflBUVHRb7/99sknn2zdunXp0qWzZs2aMGHCsGHDunfv3rhx40qVKsWOrjJlytSrV69Hjx4333zz7Nmz165da1nW4cOHZbPNdZdT9Y94ZYw6Z0VoRVP1SmmfJKavEHnadRaJqUdkE5JTep6/qUc0qjMXPya9aJPu+yZZJdlqe6uXi3a7ZEWpBTHfAT2h768gua7MKlB+ii9aZHKTqDr7c7njzklui8EVzHwcxvK95PMLikajdhd/hxv3JOSdy4UUFRX98MMPO3funD9//t133z1ixIhevXq1aNGidu3ayXp8rApVtWrVRo0ade3adciQIXfccce0adOeeeaZl156adOmTXv37v3iiy9+/vlnPG49NBQWFv7666///ve/33333S1btrz66qvPPfecYRiTJk0aPnx4z549mzVrdvrpp5cpY7+mpVSpUtWrV2/SpEm3bt2GDh06YcKEuXPnbt68+auvvvJaFsx5l1MNobGbnNhzlj0Cpw3RIGKJgoEuIuEcSDbTsl3aPMxf0OrJj+l1WQ6r7X693HW3S1aU2uV8VzBZvwL1r4CfltghTnVNYc92Py532jnEYOmXJ9if9j147ITSL9fvFyTs46FIBC53pqio6ODBg5999tn27dtffPHF2bNnT5o0Sdf1nj17Nm/evG7duieddBL/QtIKFSpUr179/PPPb9WqVffu3QcOHDh69OiJEydOnTp17ty5ixcvXrFixcaNG3ft2vXee+9ZlvXdd9/hnSvp4+jRowcPHjxw4MAXX3zxwQcfvPnmm5s3b161atXSpUvnzZs3Y8aMu++++6abbho8eHCvXr3atm3boEGD008/vWLFiswL7goKCk444YRatWo1atTo0ksvjZXnDMNYvHjx66+//vHHH//8888pvEyTLZenBJf28NR09wG5iEu9XDC6+HiQ9Of33jMhP4DLU0BRUdGhQ4eEr9u6/fbbhw8ffvnll3fq1Klp06ZnnnnmySefXK5cOdExGolEIqVKlTrhhBOqVq165plnNmjQQNO0iy++uFevXv3797/uuuvGjBkzbty4iRMn3nfffZMnT54+ffrs2bPnzJnz3HPPLVq06MUXX1yxYsWaNWs2bdq0ffv2t95665133vnoo48sy9q/f//333//888///HHH//73//+/vvvI0eOFBYWZqt/QFFR0dGjRw8fPvzXX38dOnTol19+OXDgwFdfffX5559//PHH77777u7du3fs2LF58+Z169atWrXqpZdeWrx48fz58+fOnfvYY4/NmDHj4Ycfvv/++ydNmjR+/PhbbrlF1/WBAwf26dOnS5curVq1atSo0dlnn12jRo3KlSuTlWaGsmXLVq5cuU6dOo0aNerQoUPfvn0dXnD3+++/Z/giC1wOgojskS7JC+cpB0dUFC7PFoWFhX/++eePP/7473//+6OPPtqzZ8+WLVtM01y+fPn8+fMff/zxqVOn3nvvvePHjx89evTQoUOvuuqqHj16dOjQoWXLlk2bNm3YsOG55557xhln1KxZ89RTT61cuXKFChVKly4tk5YDBQUFxxxzTKlSpcqUKXPssceWL1/+uOOOq1ixYqVKlU488cSTTz65SpUqp512WrVq1WrUqHH66afXrl27bt26Z5555llnnXXGGWfUqVOnVq1aNWvWrF69etWqVU899dRTTjnlpJNOqly58gknnHD88cdXqFChXLlyZcuWLV26dMmSJZPvF/FEqVKlypcvX6lSpSpVqtSoUaNu3brnnHNO/fr1mzRpomlau3btunXrdvnll1977bWjRo26/fbb77777ilTpsyePfvZZ59dunTp6tWrN2/e/NZbb33wwQf/+te/Dhw48Mcff+T+0wDhcgBc4C785y1weagoKio6fPhwrKb7ww8/fP3111988cW+ffvee++9PXv27Ny58/XXX1+/fv26devWrFnz2muvrVq1asWKFa+88spLL720fPnypUuXLl68eOHChc8///z8+fOfffbZZ555Zu7cuU899dQTTzzx2GOPPfroozNnzpwxY8a0adMeeeSR6dOnG4Yxa9as2bNnP/74408++eScOXOefvrpefPmPffccwsWLHjhhRcWLVq0ZMmSZcuWvfjiiy+//PKrr766cuXK1atXm6a5du3a9evXb9q0aceOHbt373733Xc//vjjzz///Kuvvkq2Ivz99995e3NBoF0OAMgkcDkAOQpcDgBQBC4HIEeBywEAisDlAOQocDkAQBG4HIAcBS4HACgClwOQo8DlAABF4HIAchS4HACgCFwOQI4ClwMAFIHLAchR4HIAgCJwOQA5ClwOAFAELs80eIAlUAQuBwAoApdnGrgcKAKXAwAUgcszDVwOFIHLAQCKwOWZBi4HisDlAABF8t3lph6J6GbixXmR+AvtLUOL/xu3rqlHmHfd20q2R6bGoD62DI2cFVwOFIDLAQCKwOWkspP+jUnZMjRK2Laq7X9JNVuGFh+FmJJdBlwOFIHLAQCKwOWUWRlls7XvxBDiH6GauQ+JD+ByoAhcDgBQBC5XdDk5iPd6xHEucDnwA1wOAFAELld1uf0Pr+pkOzpxuR0uB8UELgcAKAKXq7s8/p9p92OjEV9EZ+cDlwNF4HIAgCJwuQeXJ2vflN65entiRPR9A8UCLgcAKAKXe3F5/OI4V+UW3ZNmf64ZFurlwDtwOQBAkXx3uUeoe808AIED78DlAABF4HIviHq9KQGXA+/A5QAAReByD/BPf/MyJVwOvAGXAwAUgcsByFHgcgCAInA5ADkKXA4AUAQuByBHgcsBAIrA5QDkKHA5AEARuByAHAUuBwAoEkKXP75yTokSJZ566qnDhw9ne/cC4IeioqKNGzced/xxNz94awpdDgAIMWFz+Rs/v/1/z02pVrN61WpVb7zxxiVLlnz99dfZPjkD4M7PP/+8atWqO+6449zzzj3u+ONG33vTzv/szu5PCUGQfE6WXf7Gz29v+27XnbPuat2lTekypSORSI2aNfr37z979ux//vOf//3vf7N90gYgGo1GDx8+vG/fvmefffa66647p945kUikoKCgYfMLR98zZq21Kes/IgRB8jzZd3kym7/aNmXh9MG3DG3e/qLjKx4fa4uoVr1am7Zthg0b9tBDDy1fvvydd945ePBgtk/sIMz873//+/jjj1euXDl9+vRRo0Z16typdu3axxxzTCQSKVO2TINmDa8c0f/epx547ZP1Wf/JIAiCxJJDLiez8z+7X3z71RnLZo19eNyVI/q37Ny69ll1SpUuFRP8KVVO0VpqgwYNGj9+/PTp0xcuXLhx48YPP/zwP//5T2FhYbZdAHKdoqKiX3/99ZNPPtm6devSpUtnzZp15513Dhs2rF37dtVrVC8oKIhEIiVKlKh2evVmbZv3GdLvxvtufvj5qQt3LN1+4M2s/zQQBEH45KjLhdn54+5X3l316KtPjJ8+YcCNg9r36Niw+YU1atcsV75csk9ByZIlTz3t1PoNGnS5pMvgwYPHjRs3bdq0F154Yd26dW+99dann376ww8//PXXX9m2CUgXR44c+emnnz7//PO3335748aNS5cunTlz5oQJE4YNG9ate7cmTZtUr1G9TJkyyQOmTNkyVWtUPb/xBa27tr1yRP9bJ98+femsZXte3vb9G1k/4BEEQRQTJJc7ZPPX21/cu2Lu2nmTFzwybuo/rhuv9xnSr1339g2aNaxeq8ax5Y5luhGWPbbsqaedetY5Zzdv0bzLJV2uuuqqkSNH3nHHHZMnT37yySeXLFmydu3aN95444MPPvjiiy8OHDhw8ODBo0ePZttT+UVhYeGhQ4d+/PHHL7/88qOPPtq9e/eGDRuWL18+d+7cRx555M4777zhhhsGDBhwabdLtZZavXPPrVqtavkK5ZkvulTpUqdVP+28Rue36tKm5zW9r7116NiHxz04b/ITq+Ys3f3yhi+37PppT9aPXgRBkGImJC53zdbvdr32yfqlb7309PrnjOWP3v/0/42fNmHUXTcOuvnaPkP6derbRbu4Vf2mDeqcXefkU08ue2xZ4Y0EZcqUqVS5UrXq1c48+6wGDRu2bNWyU+dOffr0GTBggK7rN99885133vnggw8ahjFnzpwFCxYsWbLklVdeee211zZs2LB169Y33nhj7969H3zwwaeffvrll19+++23P/3008GDB//666+AXhooKir6+++///jjj59//vn777/fv3//Z5999uGHH/7zn/988803t23btnHjRtM0X3311WXLlr3wwgvPPPPMrFmzJk+ePGnSpLFjx44cOXLQoEH9+vW7pOslrdu0btS40dn1zqlRs8aJJ50o+wpKlipZ+eQTTz+j1nmNzm/erkXHXhf3GtRnwI2DRk4cdduU8fc+9cC0JTPnrJm3cOeylR+am7/eDlUjCJIPyReXe82273aZn65/6Z8rF+5Y+syG+bNXPDl1sfHAMw9NnH332CnjRt8zZtg4fcCNg/oNu7xb/x4de13csnPrJq2bnt/4gjPqnVnt9OqVTz7xuOOPK3ts2VifKRVKlix5bLljK55Q8eRTTq5WvVqt2rXPPOvMs+udXe/ceuedf975F5xfv0H9hhc2bNS4cZNmTZu1aNb8ohZaS61V61Zt2rZp165dh44dOl7csVPnTl0u6dL10q7dunfr0bNHz169+vTp07dv3969e/fo2aNb925dL+3a5ZIunbt0vrjTxR06dmjXrl2btm1atW7VslXLFtpFzVo0b9qsaaPGjRte2LBBwwYX1K9/3vnn1Tu33tn1zj7zrDPr1K1TvWaNU6qcckKlE8qVL1eqVCnFTSsoKChTtkyF4ypUOrFS1RpV65xd59wLz2ukNdYubtm+R8euV3brM6Tf1TcMHHrbdaPuuvHWybffOeuu++b+3yMLpz/6yuNz1z37/LbFL7796qqP1275difcjCAIwgcuT3t2/rh763e7Nv5765rPNq76aM1L/1y59K2XXti+5NnNz89dO+/xlXNmvvTY1MXG5AWP3P/0/931xH3/MCbeNmX8zQ/eOvqeMTfcPeb6SaNHThylT7h++D9GXjdeH3r78CFjhw2+Zeigm6+95qbBA24cdPUNA6+6/uorR/S/fPiVl113Rb9hl/cZ0q/34L49r+ndfUDP7lf3vPSq7t0H9Ox5Te/eg/v2GdKv79DLLht2xeXDr7xyRP+rrr/66hsGDhh9zcAxgwbdfO3gW4YOGTts6O3Dh43Th98xQp9w/ciJo66fNPqGu8eMvmfMmPtvGTtl3B0z7pz02D33zXnwoflTpi6aYbw4+7GVT81ZM2/epgXPb1u85M0XX9y7YsUHpvnp+g1fbtny7c6dP+LGawRBkPQGLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYAcuRxAEQZBgBy5HEARBkGAHLkcQBEGQYOf/AVo86YXN7I2BAAAAAElFTkSuQmCC" alt="" width="635" height="390" />

二、工程架构:

aaarticlea/png;base64,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" alt="" />

三、数据库文件

aaarticlea/png;base64,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" alt="" />

四、整合过程

第一、整合持久层:mybatis和spring整合,通过spring管理mapper接口。

使用mapper的扫描器自动扫描mapper接口在spring中进行注册。

  1. 编写po类。
package po;

import java.util.Date;

public class Person
{
private int id;
private String username;
private String sex;
private int age;
private String card_id;
private String actor;
private String depart;
private Date in_time;
private String phoneNum; public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
} public String getCard_id()
{
return card_id;
}
public void setCard_id(String card_id)
{
this.card_id = card_id;
}
public String getActor()
{
return actor;
}
public void setActor(String actor)
{
this.actor = actor;
}
public String getDepart()
{
return depart;
}
public void setDepart(String depart)
{
this.depart = depart;
} public Date getIn_time()
{
return in_time;
}
public void setIn_time(Date in_time)
{
this.in_time = in_time;
}
public String getPhoneNum()
{
return phoneNum;
}
public void setPhoneNum(String phoneNum)
{
this.phoneNum = phoneNum;
} }

2. 编写mapper.java和mapper.xml,两者名称一致。

  • PersonMapper.java
package mapper;
import java.util.List;
import po.Person;
public interface PersonMapper
{
List<Person> findAllPerson();
}
  • PersonMapper.xml
<?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"> <!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离
注意:使用mapper代理方法开发,namespace有特殊重要的作用,namespace等于mapper接口地址
-->
<mapper namespace="mapper.PersonMapper">
<!-- 解决表名与字段不匹配 -->
<resultMap type="Person" id="personResultMap">
<id property="id" column="user_id"/>
<result property="username" column="username"/>
<result property="sex" column="sex"/>
<result property="age" column="age"/>
<result property="card_id" column="card_id"/>
<result property="actor" column="actor"/>
<result property="depart" column="depart"/>
<result property="in_time" column="in_time"/>
<result property="phoneNum" column="phone_num"/>
</resultMap> <!-- select的id和PersonMapper.java的函数名一致 -->
<select id="findAllPerson" resultMap="personResultMap" resultType="Person">
select * from personnel
</select>
</mapper>

3. 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> <!-- 配置别名 -->
<typeAliases>
<!-- 批量扫描别名 -->
<typeAlias alias="Person" type="po.Person"/>
</typeAliases> <!-- 配置mapper
必须遵循:mapper.xml和mapper.java文件同名且在一个目录
-->
<mappers>
<mapper resource="mapper/PersonMapper.xml"/>
</mappers> </configuration>

【注】mapper代理开发规范:

  • 在mapper.xml中namespace等于mapper接口地址;
  • mapper.java接口中的方法名和mapper.xml中statement的id一致;
  • mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致;
  • mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。

第二、整合业务层Service:通过spring管理 service接口。使用配置方式将service接口配置在spring配置文件中。

  • PersonService.java
package service;
import java.util.List;
import po.Person;
public interface PersonService
{
List<Person> findAllPerson();
}
  • PersonServiceImpl.java继承PersonService。(其中@后的注解内容不能省)
package service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import mapper.PersonMapper;
import po.Person;
import service.PersonService; @Service
@Transactional
public class PersonServiceImpl implements PersonService
{
@Resource
public PersonMapper personMapper; public List<Person> findAllPerson()
{
List<Person> findAllPerson = personMapper.findAllPerson();
return findAllPerson;
}
}

 第三、表现层SpringMVC:由于springmvc是spring的模块,故不需要整合。

     1.创建spring-mvc.xml文件,配置处理器映射器、适配器、视图解析器。

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"> <!--对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
<context:component-scan base-package="controller"></context:component-scan>
<context:component-scan base-package="service"></context:component-scan> <!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean> </beans>

2.创建db.properties文件,配置数据库连接参数。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/personnelmanagesys
jdbc.username=root
jdbc.password=admin

3.创建spring-common.xml文件,配置数据源,SqlSessionFactory,mapper扫描器。

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "> <!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则 -->
<context:property-placeholder location="classpath:config/db.properties" /> <!--
1. 配置数据源 ,dbcp
--> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="30" />
<property name="maxIdle" value="5" />
</bean> <!--
2. mybatis的SqlSession的工厂: SqlSessionFactoryBean dataSource:引用数据源 MyBatis定义数据源,同意加载配置
-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据库连接池 -->
<property name="dataSource" ref="dataSource" />
<!-- 加载mybatis的全局配置文件 -->
<property name="configLocation" value="classpath:config/mybatis-config.xml" />
</bean> <!--
3.mapper扫描器
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 扫描包路径,如果需要扫描多个包,中间使用半角逗号隔开 -->
<property name="basePackage" value="mapper"></property>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
</beans>

4.开发Controller。

  • PersonController.java
package controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import po.Person;
import service.PersonService; @Controller
public class PersonController
{
@Autowired
private PersonService personService; @RequestMapping("/findAllPerson")
public String findAllPerson(HttpServletRequest request)
{
List<Person> listPerson = personService.findAllPerson(); request.setAttribute("listPerson",listPerson); return "/allPerson";
}
}

5.编写jsp。

  • allPerson.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'allPerson.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body> <table border="1">
<tbody>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>卡号</th>
<th>角色</th>
<th>部门</th>
<th>入职时间</th>
<th>电话号码</th>
</tr>
<c:if test="${!empty listPerson }">
<c:forEach items="${listPerson}" var="list">
<tr>
<td>${list.username }</td>
<td>${list.sex }</td>
<td>${list.age }</td>
<td>${list.card_id }</td>
<td>${list.actor }</td>
<td>${list.depart }</td>
<td>${list.in_time }</td>
<td>${list.phoneNum }</td> </tr>
</c:forEach>
</c:if>
</tbody>
</table>
</body>
</html>

  第四、在web.xml中加载Spring容器。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"> <!-- 加载Spring容器配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- 设置Spring容器加载所有的配置文件的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-*.xml</param-value>
</context-param> <!-- 配置SpringMVC核心控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring-mvc.xml</param-value>
</init-param>
<!-- 启动加载一次 -->
<load-on-startup>1</load-on-startup>
</servlet> <!--为DispatcherServlet建立映射 -->
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<display-name></display-name>
</web-app>

五、功能测试

输入http://localhost:8080/test01/findAllPerson

aaarticlea/png;base64,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" alt="" />

六、测试成功!

[PS]:遗留日期格式转换问题待解决。

上一篇:[bug] docker: Error response from daemon: Conflict. The container name "/xx" is already in use


下一篇:Qt 环境下的mapx控件-------2