Hello Jian,
there are several options available.
1) In XSJS you can use of course the $.hdb (JSDoc: Namespace: hdb) or the $.db (JSDoc: Namespace: db) interface to access the data. There is also XSDS (JSDoc: Index) available to bind your CDS artifacts in XSJS.
2) You can access your CDS objects in SQLScript.
3) OData as you mentioned. By the definition of an OData service the CRUD operations are available by default. You can forbid operations using the forbidden statement. For CDS Views you have to consider that for views in general by default only the read operation is available (because views are made to read data). If you really wanna "modify" the content of a view you can use the OData modification exists where you implement your own modification logic which updates the tables used by the view (no direct update of the view is possible).
4) ...
Best Regards,
Florian