上课时间6小时,全程由声音超级好听的老师讲课,而且她很有耐心的帮我旁边的同学找bug。奈斯!
这次讲课的内容是使用xml配置,实现数据库操作。使用的框架是SSM,对于我来说,算比较简单的~毕竟之前Dr.zhou教过SSH的知识。
—————————分界线———————————
实验结果:
在控制台输出数据表中的信息。如下图
project的文件目录结构:
实验要点:
1.会写数据库配置文件conf.xml
2.会写映射文件mapper.xml
3.将数据库的增删查改方法封装在GoodsInfoDao中
4.通过生成GoodsInfoDao的对象对数据库进行操作
conf.xml
<?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="com.mysql.jdbc.Driver"/>
<!--shopping为数据库名,?后为设定字符集,避免中文乱码-->
<property name="url" value="jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--下方是mapper的路径-->
<mappers>
<mapper resource="com/neusoft/dao/goodsInfoMapper.xml"/>
</mappers>
</configuration>
mapper.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">
<mapper namespace="com.neusoft.dao.GoodsInfoMapper">
<select id="addGoods" parameterType="com.neusoft.dao.GoodsInfo">
insert into goods(goodsid,goodsname,price) values(#{goodsid},#{goodsname},#{price})
</select>
<select id="getGoods" parameterType="int" resultType="com.neusoft.dao.GoodsInfo">
select * from goods where goodsid=#{goodsid}
</select>
<select id="updataGoods" parameterType="com.neusoft.dao.GoodsInfo">
update goods set goodsname=#{goodsname},price=#{price} where goodsid=#{goodsid}
</select>
<select id="deleteGoods" parameterType="int">
delete from goods where goodsid=#{goodsid}
</select>
<select id="getGoodsInfos" resultType="com.neusoft.dao.GoodsInfo">
select * from goods
</select>
</mapper>
mapper.xml中要注意:
- Mapper.xml文件中的namespace与mapper接口的类路径相同。
- Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
- Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
此外,需要导入的三个jar包,分别是
附上数据库及本次实验源码:链接:https://pan.baidu.com/s/1ymTd2DUX31L050P3aNAijg 密码:fclk