发表于: 2017-10-20 23:03:38
1 853
1;首先昨天说的关于mybatis另一种不是基于xml的,注解方式来操作数据库
建立mapper接口声明方法,然后把之前的xml的SQL语句,放进去来注解
public interface StudentMapper
{
@Insert("insert into student (id,name,study_id,qq)values (#{id},#{name},#{study_id},#{qq})")
public void add(Student student);
@Delete("delete from student where id=#{id}")
public void delete(int id);
@Update("update Student set name = #{name},study_id = #{study_id} where id = #{id}")
public void update(Student student);
@Select("select*from student where id=#{id}")
public Student get(int id);
@Select("select * from student")
public List<Student> list();
接着在mybatis-config.xml中配置映射mapper,来关联实体和数据库
<mappers>
<!--<mapper resource="Student.xml"/>-->
<mapper class="big.dada.dao.StudentMapper"/>
</mappers>
最后就是方法的调用测试CRUD
private static void listAll(StudentMapper mapper)
{
List<Student> ss = mapper.list();
for (Student s : ss) {
System.out.println(s.getId() + " " + s.getName() + " " + s.getStudy_id() + " " + s.getQq());
private static void add(StudentMapper mapper)
{
Student s = new Student();
s.setName("我是新对象2");
s.setStudy_id(45646464);
mapper.add(s);
listAll(mapper);
private static void delete(StudentMapper mapper)
{
mapper.delete(137);
listAll(mapper);
private static void update(StudentMapper mapper){
Student s = mapper.get(136);
s.setName("我是新对象5");
s.setStudy_id(89845524);
mapper.update(s);
listAll(mapper);
private static void get(StudentMapper mapper){
Student s = mapper.get(136);
System.out.println(s.getName());
}
感觉注解也就是测试稍微方便一些吧,逻辑比着xml方式相对而言,更复杂一下些,理解也不是很深入,不过官网上说这种注解很ok
2;然后是log4j的小技巧,可以自定义输出范围级别,直接追踪到着个包里的sql语句运行效果
3;最后是提交任务到GitHub
4;配置tomcat先试一下普通的web项目,先详细说一下tomcat的配置流程吧
第一步;去官网下载号tomcat,这个版本的话自己选吧,我一般喜欢新版本,看了下官网上最新版tomcat9beat版,建议8.0zip版,然后解压到安装目录,记下路径
第二步;启动服务,直接点击bin目录的exe或者那个startup就行,像mysql一样闪退,不用理会
第三步;在idea里配置添加,找到edit configuration添加tomcat,配好上述的路径,然后部署Deployment
第四步;运行测试部署,看控制台的deployed successfully就可以笑了
5;先试下水,学习一下简单的web项目,屏蔽掉mvn的便利性,看一下最直接的底层机制;在这先百度一波概念
Servlet:Server Applet是Java Servlet的简称,称为小服务程序,Servlet技术是一种基于Java语言,用于创建Web应用程序(处在服务器端并生成动态网页)。这里也涉及到CGI(Common Gateway Interface公共网关接口)的概念,大体上是两者功能类似,在Servlet之前,CGI脚本语言作为服务器端编程语言的,但是这种技术有很多缺点,servlet在一定程度上弥补并且超越了它,总之servlet技术是目前最流行的,具体是的优缺点,暂时不看太多了,简单罗列介个,先有个印象,mark后期再回头看。
1;性能明显更好。2;Servlet 在 Web 服务器的地址空间内执行,这样它就没有必要再创建一个单独的进程来处理每个客户端请求。3;Servlet 是独立于平台的,因为它们是用 Java 编写的。4;服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。5;Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。
6; Servlet 可以使用 javax.servlet 和 javax.servlet.http 包创建
Java Servlet 就像任何其他的 Java 类一样已经被创建和编译。安装 Servlet 包并把它们添加到计算机上的 Classpath 类路径中之后,就可以通过JDK 的 Java编译器来编译 Servlet。其中javax.servlet包中包含servlet或Web容器使用的许多接口和类。javax.servlet.http包中包含仅用于负责http请求的接口和类。
7;doGet() 和 doPost() 方法是每次服务请求中最常用的方法。这里先说doget()吧,等会就是用的就是这个;GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。而POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,具体怎么特定,还不太清楚
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
try {
response.getWriter().println("<h1>Servlet: Hello Bigdudada !!!</h1>");
response.getWriter().println(new Date().toLocaleString());
} catch (IOException e) {
e.printStackTrace();
}
8;web应用程序目录结构,这个也是sun规定好的,所有HTML,静态文件(图像,css等)都直接保存在Web应用程序(webapps)文件夹下。 而所有Servlet类都保存在classes文件夹中。web.xml(部署描述符)文件保存在WEB-INF文件夹下。
9;创建一个servlet,方法好几种吧,这里是通过继承扩展HttpServlet抽象类创建的
10;编译Servlet类,要一个JAR文件servlet-api.jar来编译servlet类。(不同的服务器需要不同的JAR文件),可以在最基础的命令行里试试,但是有了idea就不那么麻烦了,直接添加jar,这里就不多说了
11;接着创建部署描述符,部署描述符是由Web容器用于运行Servlet和JSP页面的XML文档。主要用于完成URL映射到Servlet类,初始化等一些内容
12;最后运行http://localhost:8080/bigdudada试一下可以,部署ok第一个servlet应用程序成功
明日计划的事情:
1;小结一下任务一,具体等任务二结束,仔细思考这些内容的关系逻辑
2;准备一下小课堂spring的ioc,顺便再深入学习spring+mybatis
遇到的问题及解决方法:
1;问题的话,也都能解决,主要是不熟悉造成,这个是github推送时,不能推送同一个分支,具体不太清楚
2;然后就是各种新概念,新知识的堆积,消化慢,只能慢慢理解回忆记忆了。
收获:
1;任务一最难的算是亲手撸了一遍,感觉有点“感觉”了,但是还是不够严谨,不够规范,整体上大的框架有了,但还是不够清晰;暂时这样吧,抽时间再看看基础,然后做任务二,再回头仔细总结思考一下框架体系流程。
2;学习web工程,配置好tomcat,跑出本地页面。
评论