Git代码管理
对于系统的公共部分进行抽取。
抽取domain
@Data public class BaseDomain { private Long id; } |
抽取mapper
public interface BaseMapper { //基础查询 void save(T d); void remove(Long id); void update(T d); T loadById(Long id ); List loadAll(); //分页查询 //查询总条数 Long queryCount(BaseQuery query); //查询当前的页数 List queryData(BaseQuery query); }
|
抽取服务接口:
package cn.itsource.basic.service; import cn.itsource.basic.query.BaseQuery; import cn.itsource.basic.util.PageList; import java.io.Serializable; import java.util.List;
public interface IBaseService { //添加一个对象 void add(T t);
//删除一个对象 void del(Serializable id);
//更新一个对象 void update(T t);
//通过id获取一个对象 T getById(Serializable id);
//获取所有对象 List getAll();
//分页查询 PageList queryData(BaseQuery query); }
|
抽取服务实现:
//不需要加@Service,子类继承时添加 //类级别事务为读事务,分别在增删改的方法上面加写事务 @Transactional(readOnly = true,propagation = Propagation.SUPPORTS) public class BaseServiceImpl implements IBaseService {
@Autowired private BaseMapper baseMapper;
//@Transactional(readOnly = false,propagation = Propagation.REQUIRED) @Transactional @Override public void add(T t) { baseMapper.save(t); // int i = 1/0; }
@Transactional @Override public void del(Serializable id) { baseMapper.remove(id); } @Transactional @Override public void update(T t) { baseMapper.update(t); }
@Override public T getById(Serializable id) { return baseMapper.loadById(id); }
@Override public List getAll() { return baseMapper.loadAll(); }
@Override public PageList queryData(BaseQuery query) { Long count = baseMapper.queryCount(query); if (count==null || count.intValue()<1) return new PageList<>(); List data = baseMapper.queryData(query); return new PageList<>(count,data); } }
|
2.Git代码管理
Linus的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了
一个分布式版本控制工具,是由Linux的作者Linus开发的。
目前使用Git作为版本控制的开源软件:
Linux kernel,Android, jQuery, Ruby on Rails,Debian… ,github,码云
1)版本库本地化,支持离线提交,相对独立不影响协同开发。每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。
2)更少的“仓库污染”。git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像老版本SVN那样在每个目录下都产生.svn目录。
把内容按元数据方式存储,完整克隆版本库。所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。
3)支持快速切换分支方便合并,比较合并性能好。在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。
4)分布式版本库,无单点故障,内容完整性好。
5)国外开源项目基本使用git
1)创建仓库目录
2)进入目录
3)进入git bash界面-右键
4) 仓库初始化
git init --bare shared.git
仓库路径 E:/openSource/git/repository/shared.git/ .
仓库文件目录
HEAD:指向当前分支的一个提交
description:项目的描述信息
config:项目的配置信息
info/:里面有一个exclude文件,指定本项目要忽略的文件
objects/:Git对象库(commit,tree,blob,tag)
refs/:标识着你的每个分支指向哪个提交
hooks/:默认的hook脚本
见Git基本命令
略过, 安装完成后,需要重启电脑。
按图操作即可
更新(pull)--手动解决冲突-告诉已解决(resove)--本地提交--push
在idea开发了代码,直接在idea中提交,需要idea git插件,插件默认是安装了的,只需要做配置就OK。
1)搭建共享仓库-项目经理
管理员通过toroiseGit建立一个仓库
项目经理上传初始化代码
Gitlab等,局域网操作
GitHub,码云gitee等,互联网操作
注册
建库/删库
初始化项目
和本地共享库一样,clone 拷贝 上传提交
其他操作和本地一个吊样.
项目经理:创建仓库-初始化提交-忽略target
开发人员:idea导入进行开发
项目经理:创建仓库-初始化提交
开发人员:idea导入进行开发
1.完成表t_shop的CRUD (非常重要)
原文:https://www.cnblogs.com/mingruifeng/p/14908612.html