发表于: 2017-07-18 23:44:17
1 1154
今天完成的事情:
1. git命令行总结:
git的结构
注:下文的file是指某一文件,例如test.txt
基本操作:
git init 在所在文件夹生成git仓库
git status 查看当前工作区状态
git add file 将工作区的文件提交到暂存区
git diff file 查看file文件多次add的差别
git diff HEAD -- file 查看file文件工作区与版本库的区别
git commit -m"" 将所有暂存区的文件一次提交到分支,-m“”为描述部分
撤销操作:
git reset HEAD file 将暂存区的file放回工作区
git checkout -- file ①当暂存区有file时,恢复暂存区的file ②当暂存区没有file时,恢复为分支中file的最新版本
git rm file 删掉文件,commit之后可以从版本库中移除该文件
远程部分:
ssh-keygen -t rsa -C "youremail@exmple.com" 创建SSHkey,电脑中搜索id_rsa.pub,打开该文件复制到github的SHHkey文件中即可使用远程仓库
SSHkey地址示例
连接远程仓库的第一种方式:
使用命令行在本地仓库中键入
git remote add origin SSHkey地址
git push -u origin master 第一次推送使用此命令,关联远程仓库的master分支
git push origin master 使用上条命令后可使用简化的推送命令,推送master分支到远程仓库
git push 推送当前分支到远程仓库
连接远程库的第二种方式:
git clone SSHkey地址 命令行模式下任意文件夹执行此条命令,将克隆项目文件夹并关联master分支
分支部分:
git branch 查看本地分支
git branch dev 创建dev分支
git checkout dev 切换为dev分支
git checkout -b dev 创建并转化为dev分支
值得一说的是在没有合并的前提下,dev分支和master分支是不会互相影响的,就算把master分支的文件删光,dev也不会受到影响
git checkout master ---->>>现将分支切换到master上
git merge dev 将dev上的文件合并到master分支上 注:此操作要切换到master上才会完成,在dev分支上操作是会失败的
git merge --no-ff -m "merge with no-ff" dev 使用no-ff方式合并分支,作用是合并后自动生成commit,可以在分支线上看出合并过
git log --graph --pretty=oneline --abbrev-commit 查看commit操作
git branch -d dev 删除dev分支
git branch -D dev 删除dev提示失败时,使用此命令强制销毁
储存工作区部分:
git stash 储存工作区文件
git stash list 查看储存列表
git stash apply 恢复上一次储存的文件(不删除储存文件)
git stash drop 删除上次的储存文件
git stash pop 恢复上一次储存的文件(并删除储存文件)
git stash apply stash@{0} 恢复编号为0的储存文件
版本操作部分:
标签:
切换到想要打标签的分支上
git tag v1.0 将v1.0打在最近一次提交的commit上
git reflog 查看所有操作的数字串
git log --pretty=oneline --abbrev-commit 查询commit id
git tag v1.0 commit id 将v1.0标签打在commit id所在的commit上
git show v1.0 查看标签v1.0的详细信息
git tag -d v1.0 删除标签v1.0
git push origin v1.0 推送v1.0到远程
git push origin --tags 推送所有未推送过的tag到远程
版本切换!!!!
git reset --hard HEAD^ 回退到上一个版本(多少个^回退多少个版本)
git reset --hard commit id 切换到commit id版本
git reset --hard v1.0 切换到v1.0版本
删除远程标签:
git tag -d v0.9 先删本地
git push origin :refs/tags/v0.9 再删远程
把命令行学会了桌面版就很简单了,而且桌面版功能有很多简化过,就不细说了
idea中的git使用
打开项目——>设置——>Git设置好
VCS——>导入版本控制——>Create Git Repository 在将项目文件夹初始化为本地仓库
VCS——>导入版本控制——>Share Project on Github 设置github账号后直接在github上创立项目,这个最为简单
在想要上传的文件上选择,右键
add——>commit文件..
勾选已经add好,想要上传的文件,commit and push
文件就那么简单的上传成功了!
可喜可贺,可喜可贺
2. 完成了mybatis的XML方式与注解方式操作数据库
项目结构,这次按要求来了
UserDao(interface)
public interface UserDao {
void insertUser();
@Insert("INSERT INTO user(user_name,password,sex)VALUE (#{userName},#{password},#{sex});")
void insertUserByAnnotation(String userName,String password,int sex);
}
User 略 普通的get和set
UserDao.xml
<mapper namespace="cn.summerwaves.dao.UserDao">
<insert id="insertUser" parameterType="cn.summerwaves.domain.User">
INSERT INTO user(user_name,password,sex)VALUE (#{userName},#{password},#{sex})
</insert>
</mapper>
mybatis-config.xml
<configuration>
<properties resource="jdbc.properties"/>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<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>
<mappers>
<mapper class="cn.summerwaves.dao.UserDao"/>
<mapper resource="cn/summerwaves/mapper/UserDao.xml"/>
</mappers>
</configuration>
调用XML和注解两种方式的Test
public class UserDaoTest {
private SqlSessionFactory factory;
private SqlSession session;
@Before
public void setUp() throws Exception {
String resource = "mybatis-config.xml";
factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(resource));
session = factory.openSession();
}
@Test
public void insertUserByXML() throws Exception {
User user = new User();
user.setUserName("username");
user.setPassword("password");
user.setSex(1);
session.insert("cn.summerwaves.dao.UserDao.insertUser", user);
System.out.println("add user by XML");
}
@Test
public void insertUserByAnnotation() throws Exception {
User user = new User();
user.setUserName("username");
user.setPassword("password");
user.setSex(1);
session.insert("cn.summerwaves.dao.UserDao.insertUserByAnnotation", user);
System.out.println("add user by annotation");
}
@After
public void teardown() throws Exception {
session.commit();
session.close();
}
}
明天计划的事情:
把任务1完结,开始学习SpringMVC和Rest风格接口
遇到的问题:
中途mybatis代码运行不了,后来是发现mybatis-config.xml部分写错了,具体写法
class没有斜杠,对应地址是dao层的UserDao
resource用斜杠,对应地址是mapper层的xml
收获:
git命令行使用了好几次,挺熟练了;
idea上的github工具很简单;
mybatis的XML和注解的方式都了解了,但是还不是很熟练
评论