ssm框架下的网上书城项目的开发-mapper层

mapper层由mapper接口和mapper.xml组成。我们可以在mapper.xml里写sql语句,直接操作数据库。

1.RegisterMapper.java,在这里我们使用mapper注解。同时我们定义两个方法:

register()方法,接受传参user,向数据库里插入一条新用户记录;

getUserByNameAndPwd()方法,可以通过此方法判断数据库里是否有该用户。

package com.bookstore.mapper;
import org.springframework.stereotype.Repository;
import com.bookstore.dao.User;

@Mapper
public interface RegisterMapper {
	//定义注册的所有接口
	int register(User user);

	int getUserByNameAndPwd(User user);

}

RegisterMapper.xml

我们在这里实现registerMapper的接口。namespace填写我们的要实现的mapper地址。写sql语句时id应和需要实现的mapper的接口保持一致,parameterType是传入的参数类型,resultType是我们需要得到的返回类型。

<?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.bookstore.mapper.RegisterMapper">
	<!-- 通过用户名和密码得到用户,这里用的count(*)来得到这个用户的数量,为1表示用户存在,为0表示不存在 -->
	<select id="getUserByNameAndPwd" parameterType="User" resultType="int">
		select count(*) from user where username=#{username} and password=#{password}
	</select>
	
	<!-- 注册用户信息 -->
	<insert id="register" parameterType="User">
		insert into user (username,password) values (#{username},#{password})
	</insert>
</mapper>

2.LoginMapper.java

package com.bookstore.doa;

import org.springframework.stereotype.Mapper;

import com.bookstore.dao.User;

@Mapper
public interface LoginMapper {
	User login(String name, String pwd);

}

LoginMapper.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.bookstore.dao.LoginMapper">

	<!-- 通过用户名和密码查询用户 -->
	<select id="login" resultType="User">
		select * from user as u where u.username=#{u.username} and u.password=#{u.password}
	</select>
</mapper>

3.BookMapper.java

package com.bookstore.dao;

import java.util.List;

import org.springframework.stereotype.Mapper;

import com.bookstore.dao.Book;

@Mapper
public interface BookMapper {

	
	List<Book> getAllNewBooks();

    List<Book> getAllBooks();

	Book getBookById(int id);

	List<Book> getBooksByBooktype(int type);


}

BookMapper.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.bookstore.mapper.BookMapper">
	<!-- 得到最新的12本书籍 -->
	<select id="getAllNewBooks" resultType="Book">
		select * from book order by pubdate desc limit 12
	</select>

	<!-- 得到全部书籍 -->	
	<select id="getAllBooks" resultType="Book">
		select * from book
	</select>
	
	<!-- 通过书籍的id得到一本书的全部属性 -->
	<select id="getBookById" parameterType="int" resultType="Book">
		select * from book where id =#{id}
	</select>
	
	<!-- 通过种类id得到一类的全部书籍 -->
	<select id="getBooksByBooktype" parameterType="int" resultType="Book">
		select * from book where booktype =#{type}
	</select>
</mapper>

4.CartMapper.java

package com.bookstore.mapper;

import java.util.List;

import org.springframework.stereotype.Mapper;

import com.bookstore.dao.Cart;

@Mapper
public interface CartMapper {
	
	int incart(Cart cart);

	List<Cart> getAllOrders(String orderman);

	int deleteCartById(int id);

}

CartMapper.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.bookstore.mapper.CartMapper">

	<!--将订单插插入到购物车数据库 -->
	<insert id="incart" parameterType="Cart">
		insert into cart (name,count,date,orderman,price)values(#{name},#{count},#{date},#{orderman},#{price})
	</insert>
	
	<!-- 通过订单人得到他的全部订单 -->
	<select id="getAllOrders" parameterType="String" resultType="Cart">
		select * from cart where orderman =#{orderman}
	</select>
	
	<!-- 通过订单id删除这个订单 -->
	<delete id="deleteCartById" parameterType="int">
		delete  from cart where id =#{id}
	</delete>
</mapper>

好的,目前我们实现的增删改查还很简单,但我们已经能够完成一些操作了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值