当前位置:   article > 正文

超市订单管理系统(mybatis)_mybatis实现订单信息操作的简易系统

mybatis实现订单信息操作的简易系统

超市订单管理系统(mybatis

准备阶段——————数据库建立(基于mysql)

  • 建表命令

create table smbms_role(
	id bigint(20) not null auto_increment ,
	roleCode varchar(15),
	roleName varchar(15),
	createdBy bigint(15),
	creationDate datetime,
	modifyBy bigint(20),
	modifyDate datetime,
	constraint pk_role primary key(id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;

create table smbms_user(
	id bigint(20) not null auto_increment,
	userCode varchar(15),
	userName varchar(15),
	userPassword varchar(15),
	gender int(10),
	birthday date,
	phone varchar(15),
	address varchar(40),
	userRole bigint(20),
	createdBy bigint(20),
	creationDate datetime,
	modifyBy bigint(20),
	modifyDate datetime,
	constraint pk_user primary key(id),
	constraint fk_role foreign key(userRole) references smbms_role(id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;

create table smbms_provider(
	id bigint(20) not null auto_increment,
	proCode varchar(20),
	proName varchar(20),
	proDesc varchar(50),
	proContact varchar(20),
	proPhone varchar(20),
	proAddress varchar(50),
	proFax varchar(20),
	createdBy bigint(20),
	creationDate datetime,
	modifyBy bigint(20),
	modifyDate datetime,
	constraint pk_ primary key(id)
	
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;

create table smbms_bill(
	id bigint(20) not null auto_increment,
	billCode varchar(20),
	productName varchar(20),
	productDesc varchar(50),
	productUnit varchar(20),
	productCount decimal(20,2),
	totalPrice decimal(20,2),
	isPayment int(10),
	providerId bigint(20),
	createdBy bigint(20),
	creationDate datetime,
	modifyBy bigint(20),
	modifyDate datetime,
	constraint pk_bill primary key(id),
	constraint fk_provider foreign key(providerId) references smbms_provider(id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;

create table smbms_address(
	id bigint(20) not null auto_increment,
	contact varchar(15),
	addressDesc varchar(50),
	postCode varchar(15),
	tel varchar(20),
	createdBy bigint(20),
	creationDate datetime,
	modifyBy bigint(20),
	modifyDate datetime,
	userId bigint(20),
	constraint pk_address primary key(id),
	constraint fk_user foreign key(userId) references smbms_user(id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 所遇问题

    由于长时间没有使用sql和mysql命令导致一些基本问题的产生。

	   1.创建数据库过程中,出现权限问题。
	   解决:使用root账号登录,为用户创建相应的数据库,授予用户相应的权限。
	   命令:create database name;
		   grant all privileges on dbname.* to test@localhost;
		   revoke 用于取消
		   flush privileges;
		   show grants for username;
		
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

mybatis的入门记录

  • 导入相关的jar包后
  • mybatis主要的包含的文件
    mybatis-config.xml、pojo和sql映射文件。
  • mybatis的核心对象
    SqlSessionFactoryBuilder—build()生成SqlSessionFactory-----openSession()生成SqlSession
  • 核心对象的作用范围
    SqlSessionFactoryBuilder一旦创建了SqlSessionFactory就不需要了。
    SqlSessionFactory一旦创建就与应用共存亡。
    SqlSession对应的是与数据库的一次对话,如果关闭了则需要重新生成。
  • 两种操作数据的方式
    1.利用select操作相关xml文件中的id
    2.利用getMapper操作接口的方式(接口中的方法名必须与xml中的id名相同)

mybatis初步小结

什么是持久化:数据的相关操作就是持久化。
orm:对象和关系之间的映射(突然想到了对象型数据库)
jdbc:加载驱动—建立连接—执行sql的预编译—执行sql
mybatis:创建factory–生成sqlSession(即与数据库的连接)—执行sql

小规模实战

  • sql代码
create table equipment(
	id bigint(20) auto_increment primary key,
	type varchar(20) not null,
	price decimal(20,2),
	productDate date 
)ENGINE=InnoDB  AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
insert into equipment(type,price,productDate) values('cdma-1','650.78','2016-1-22');
insert into equipment(type,price,productDate) values('cdma-2','2356.23','2013-1-22');
insert into equipment(type,price,productDate) values('cdma-3','2200.76','2010-1-22');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • POJO
package equipment;

import java.sql.Date;

public class Equipment {
	private Integer id;
	private String type;
	private Float price;
	private Date productDate;
	..........
	..........
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • Mapper
<?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="equipment.EquipmentMapper">
	<select id="count" resultType="int">
		select count(1) as count from equipment
	</select>
	<select id="getEquipmentList" resultType="equipment.Equipment">
		select * from equipment
	</select>
</mapper>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • Config
<?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>
	<properties resource="database.properties"/>
	<settings>
		 <setting name='logImpl' value='LOG4J'/>
	</settings>
	<environments default="development">
		<environment id="development">
		<transactionManager type="JDBC"></transactionManager>
		<dataSource type="POOLED">
			<property name="driver" value="${driver}"/>
			<property name="url" value="${url}"/>
			<property name="username" value="${username}"/>
			<property name="password" value="${password}"/>
		</dataSource>
		</environment>
	</environments>
	<!-- <typeAliases>
		<package name = "smbms.dao">
	</typeAliases> -->
	<mappers>
		<mapper resource="equipment/EquipmentMapper.xml"/>
		
	</mappers>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • MyBatisUtil
package smbms.utils;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtil {
	private static SqlSessionFactory factory;
	static {
		try {
			InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
			factory = new  SqlSessionFactoryBuilder().build(is);
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
	public static SqlSession createSqlSession() {
		return factory.openSession();
	}
	public static void closeSqlSession(SqlSession sqlSession) {
		if(sqlSession!=null)
			sqlSession.close();
	}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 接口
package equipment;

import java.util.List;

public interface EquipmentMapper {
	public List<Equipment> getEquipmentList();
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/118691
推荐阅读
相关标签
  

闽ICP备14008679号