スーパー受注管理システム(mybatis)

20332 ワード

スーパー受注管理システム(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 ;
    
  • で発生した問題は、sqlコマンドとmysqlコマンドを長時間使用していないため、いくつかの基本的な問題が発生します.
  • 	   1.        ,      。
    	     :  root    ,           ,         。
    	     :create database name;
    		   grant all privileges on dbname.* to test@localhost;
    		   revoke     
    		   flush privileges;
    		   show grants for username;
    		
    

    mybatisの入門記録
  • 関連jarパケットをインポート後
  • mybatis主な含むファイルmybatis-config.xml、pojo、およびsqlマッピングファイル.
  • mybatisのコアオブジェクトSqlSessionFactoryBuilder-build()生成SqlSessionFactory---openSession()生成SqlSession
  • コアオブジェクトの有効範囲SqlSessionFactoryBuilder SqlSessionFactoryが作成されると不要になります.SqlSessionFactoryは作成されるとアプリケーションと共生します.SqlSessionはデータベースとのセッションに対応しており、閉じた場合は再生成する必要があります.
  • の2種類の操作データの方式1.関連xmlファイルのid 2をselectで操作する.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');
    
  • POJO
  • package equipment;
    
    import java.sql.Date;
    
    public class Equipment {
    	private Integer id;
    	private String type;
    	private Float price;
    	private Date productDate;
    	..........
    	..........
    }
    
  • Mapper
  • 
    
    
    	
    	
    
    
  • Config
  • 
    
    
    	
    	
    		 
    	
    	
    		
    		
    		
    			
    			
    			
    			
    		
    		
    	
    	
    	
    		
    		
    	
    
    
  • 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();
    	}
    }
    
    
  • インタフェース
  • package equipment;
    
    import java.util.List;
    
    public interface EquipmentMapper {
    	public List getEquipmentList();
    }