伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

超市订单管理系统(mybatis)

超市订单管理系统(mybatis)

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

    建表命令
  1. createtable smbms_role(
  2.         id bigint(20)notnullauto_increment,
  3.         roleCode varchar(15),
  4.         roleName varchar(15),
  5.         createdBy bigint(15),
  6.         creationDate datetime,
  7.         modifyBy bigint(20),
  8.         modifyDate datetime,constraint pk_role primarykey(id))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8 ;createtable smbms_user(
  9.         id bigint(20)notnullauto_increment,
  10.         userCode varchar(15),
  11.         userName varchar(15),
  12.         userPassword varchar(15),
  13.         gender int(10),
  14.         birthday date,
  15.         phone varchar(15),
  16.         address varchar(40),
  17.         userRole bigint(20),
  18.         createdBy bigint(20),
  19.         creationDate datetime,
  20.         modifyBy bigint(20),
  21.         modifyDate datetime,constraint pk_user primarykey(id),constraint fk_role foreignkey(userRole)references smbms_role(id))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8 ;createtable smbms_provider(
  22.         id bigint(20)notnullauto_increment,
  23.         proCode varchar(20),
  24.         proName varchar(20),
  25.         proDesc varchar(50),
  26.         proContact varchar(20),
  27.         proPhone varchar(20),
  28.         proAddress varchar(50),
  29.         proFax varchar(20),
  30.         createdBy bigint(20),
  31.         creationDate datetime,
  32.         modifyBy bigint(20),
  33.         modifyDate datetime,constraint pk_ primarykey(id))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8 ;createtable smbms_bill(
  34.         id bigint(20)notnullauto_increment,
  35.         billCode varchar(20),
  36.         productName varchar(20),
  37.         productDesc varchar(50),
  38.         productUnit varchar(20),
  39.         productCount decimal(20,2),
  40.         totalPrice decimal(20,2),
  41.         isPayment int(10),
  42.         providerId bigint(20),
  43.         createdBy bigint(20),
  44.         creationDate datetime,
  45.         modifyBy bigint(20),
  46.         modifyDate datetime,constraint pk_bill primarykey(id),constraint fk_provider foreignkey(providerId)references smbms_provider(id))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8 ;createtable smbms_address(
  47.         id bigint(20)notnullauto_increment,
  48.         contact varchar(15),
  49.         addressDesc varchar(50),
  50.         postCode varchar(15),
  51.         tel varchar(20),
  52.         createdBy bigint(20),
  53.         creationDate datetime,
  54.         modifyBy bigint(20),
  55.         modifyDate datetime,
  56.         userId bigint(20),constraint pk_address primarykey(id),constraint fk_user foreignkey(userId)references smbms_user(id))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8 ;
复制代码
    所遇问题
    由于长时间没有使用sql和mysql命令导致一些根本问题的产生。
  1.            1.创建数据库过程中,呈现权限问题。
  2.            处置:使用root账号登录,为用户创建相应的数据库,授予用户相应的权限。
  3.            命令:create database name;
  4.                    grant all privileges on dbname.* to test@localhost;
  5.                    revoke 用于取消
  6.                    flush privileges;
  7.                    show grants for username;
  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代码
  1. create table equipment(
  2.         id bigint(20) auto_increment primary key,
  3.         type varchar(20) not null,
  4.         price decimal(20,2),
  5.         productDate date
  6. )ENGINE=InnoDB  AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
  7. insert into equipment(type,price,productDate) values('cdma-1','650.78','2016-1-22');
  8. insert into equipment(type,price,productDate) values('cdma-2','2356.23','2013-1-22');
  9. insert into equipment(type,price,productDate) values('cdma-3','2200.76','2010-1-22');
复制代码
    POJO
  1. package equipment;
  2. import java.sql.Date;
  3. public class Equipment {
  4.         private Integer id;
  5.         private String type;
  6.         private Float price;
  7.         private Date productDate;
  8.         ..........
  9.         ..........
  10. }
复制代码
    Mapper
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "=//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="equipment.EquipmentMapper">
  6.         <select id="count" resultType="int">
  7.                 select count(1) as count from equipment
  8.         </select>
  9.         <select id="getEquipmentList" resultType="equipment.Equipment">
  10.                 select * from equipment
  11.         </select>
  12. </mapper>
复制代码
    Config
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6.         <properties resource="database.properties"/>
  7.         <settings>
  8.                  <setting name='logImpl' value='LOG4J'/>
  9.         </settings>
  10.         <environments default="development">
  11.                 <environment id="development">
  12.                 <transactionManager type="JDBC"></transactionManager>
  13.                 <dataSource type="POOLED">
  14.                         <property name="driver" value="${driver}"/>
  15.                         <property name="url" value="${url}"/>
  16.                         <property name="username" value="${username}"/>
  17.                         <property name="password" value="${password}"/>
  18.                 </dataSource>
  19.                 </environment>
  20.         </environments>
  21.         <!-- <typeAliases>
  22.                 <package name = "smbms.dao">
  23.         </typeAliases> -->
  24.         <mappers>
  25.                 <mapper resource="equipment/EquipmentMapper.xml"/>
  26.                
  27.         </mappers>
  28. </configuration>
复制代码
    MyBatisUtil
  1. package smbms.utils;
  2. import java.io.InputStream;
  3. import org.apache.ibatis.io.Resources;
  4. import org.apache.ibatis.session.SqlSession;
  5. import org.apache.ibatis.session.SqlSessionFactory;
  6. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  7. public class MyBatisUtil {
  8.         private static SqlSessionFactory factory;
  9.         static {
  10.                 try {
  11.                         InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
  12.                         factory = new  SqlSessionFactoryBuilder().build(is);
  13.                        
  14.                 } catch (Exception e) {
  15.                         // TODO: handle exception
  16.                         e.printStackTrace();
  17.                 }
  18.         }
  19.         public static SqlSession createSqlSession() {
  20.                 return factory.openSession();
  21.         }
  22.         public static void closeSqlSession(SqlSession sqlSession) {
  23.                 if(sqlSession!=null)
  24.                         sqlSession.close();
  25.         }
  26. }
复制代码
    接口
  1. package equipment;
  2. import java.util.List;
  3. public interface EquipmentMapper {
  4.         public List<Equipment> getEquipmentList();
  5. }
复制代码

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

一身傲气王
注册会员
主题 10
回复 18
粉丝 0
|网站地图
快速回复 返回顶部 返回列表